我想设置可绘制的背景视图。这方面有两种方法(据我所见):setBackground和setBackgroundDrawable。
当我使用setBackground时,它说它是在API 16中添加的,但是我的项目的min版本是7。我想它不会适用于16级以下的任何东西,对吗?但是当我使用setBackgroundDrawable时,它说它是不可取的。
我该用什么?
发布于 2012-08-14 07:35:55
它是不推荐的,但它仍然有效,所以您可以直接使用它。但如果你想完全纠正,只是为了它的完整性.你会做如下的事情:
int sdk = android.os.Build.VERSION.SDK_INT;
if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
setBackgroundDrawable();
} else {
setBackground();
}为此,您需要将buildTarget api 16和min设置为7或类似的内容。
发布于 2013-02-06 09:37:03
您可以使用setBackgroundResource(),它位于API 1中。
发布于 2013-09-17 07:54:32
目前,这两个函数之间似乎没有什么区别,如source code (对this post的信用)所示:
public void setBackground(Drawable background) {
//noinspection deprecation
setBackgroundDrawable(background);
}
@Deprecated
public void setBackgroundDrawable(Drawable background) { ... }因此,这只是一个命名决定,类似于填充父母和匹配父母的决定。
https://stackoverflow.com/questions/11947603
复制相似问题