因此,我的SDK从15变为21,当我调用setBackgroundDrawable()
时,Android Studio告诉我它已被弃用。
我想使用以下方法解决它:
int sdk = android.os.Build.VERSION.SDK_INT;
if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
layout.setBackgroundDrawable(getResources().getDrawable(R.drawable.img_wstat_tstorm));
} else {
layout.setBackground(getResources().getDrawable(R.drawable.img_wstat_tstorm));
}
但是然后,我在“setBackground()”处收到一个错误。
那么,您将如何处理呢?
最佳答案
这是一个有趣的话题。显然,您这样做的方式是正确的。实际上,这只是一个命名决策更改。正如this answer所指出的,setBackground()
只是调用setBackgroundDrawable()
:
public void setBackground(Drawable background) {
//noinspection deprecation
setBackgroundDrawable(background);
}
@Deprecated
public void setBackgroundDrawable(Drawable background) { ... }
您可以查看this thread以获得有关所有这些的更多信息。
关于android - 不推荐使用setBackgroundDrawable(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27141279/