今天在检查代码的时候发现getResources().getColor()方法中间画了一条横线,被标记为过时了
秉承着过时了就肯定有新的想法 百度查了一下资料 果然有那就是
ContextCompat类下的getColor方法 该方法有两个参数
一个是Context 另一个就是颜色的资源ID
@ColorInt
public static final int getColor(Context context, @ColorRes int id) {
final int version = Build.VERSION.SDK_INT;
if (version >= 23) {
return ContextCompatApi23.getColor(context, id);
} else {
return context.getResources().getColor(id);
}
}
可以看到新的getColor方法在内部做了判断 如果sdk大于6.0的时候和小于6.0的时候做了不同的处理