所以我的 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()”处收到错误。
那么,你会如何处理呢?
这是一个有趣的话题。显然,你这样做的方式是正确的。这实际上只是命名决定的改变。作为这个答案 https://stackoverflow.com/a/18844271/4015623指出,setBackground()
只是打电话setBackgroundDrawable()
:
public void setBackground(Drawable background) {
//noinspection deprecation
setBackgroundDrawable(background);
}
@Deprecated
public void setBackgroundDrawable(Drawable background) { ... }
你可以看到这个线程 https://stackoverflow.com/q/11947603/4015623有关这一切的更多信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)