Context.getResources().getDrawable(int res)方法过时

Context.getResources().getDrawable(int res)方法过时_第1张图片
难说再见

最近在做项目的优化工作,在使用Android Studio的Inspect Code静态检测项目所存在的Error和Warning时,突然看见有一个警告Context.getResources().getDrawable(int res)已经过时了,稍微有些强迫症的我对于此类警告必须零容忍。于是在网上搜索一下看见广大网友给出的解决方案就是:

Context.getDrawable(int id, Resources.Theme theme), 第二个参数@theme可以为空值.或Context.getDrawable(int)。

但是这个方法的兼容性不是很好,只有在API Level 21及以上才能使用(也就是Android5.0以上)。最后找到了以下解决方案:

ContextCompat.getDrawable(context,R.drawable.icon_test);

这个方法看着容易理解,同时谷歌也推荐使用这种方法。

你可能感兴趣的:(Context.getResources().getDrawable(int res)方法过时)