android setbackgrounddrawable is deprecated 解决方案
16lz
2021-01-23
今天,简单讲讲android如何解决setbackgrounddrawable过时的问题。
解决前:
Drawable draw = getResources().getDrawable(R.drawable.top_day);view.setBackgroundDrawable(draw);
遇到问题:
setBackgroundDrawable is deprecated as of API 16;
即过时,需要替换
解决方案一:(setBackgroundDrawable换为setBackgroundResource)
view.setBackgroundResource(R.drawable.top_day);
使用setBackgroundResource方法且传入的参数直接是resource的id,无需再去通过ID获得View,更加方便。
解决方案二:(使用setBackground替代)
view.setBackground(getResources().getDrawable(R.drawable.top_day));
需要注意的是:虽然setBackground和setBackgroundResource都可以替代setbackgrounddrawable,但是setBackground是从API 16以后才有的,之前没有这个函数。所以最好使用setBackgroundResource,这个方法是从Api 1开始就有,所以就不用担心了。
也可以使用如下方法:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { setBackground(drawable);} else { setBackgroundDrawable(drawable);}
完美解决~
如果一直都在尝试平凡,你永远不知道自己有多出色~
更多相关文章
- android 9.0获取mac地址的方法
- Android实现音量调节的方法
- android常用intent的方法
- Android EditText 自带清除按钮 的一种解决方案(ViewGroup实现)
- Android: Failure [INSTALL_FAILED_DEXOPT] and Failure [INSTALL
- 2012-7-20 android 图片叠加效果——两种方法
- Android右滑返回上一个界面的实现方法
- 系统关闭GPRS数据流量和 GPS的方法
- Android添加半透明操作提示的方法