根据开发文件的描述,这个getColor(int id)方法在M之后被标识为过时的方法(Deprecated)
它的替换方法要求两个参数,一个是颜色资源ID ,一个是主题样式对象
getColor(int id, Recources.Theme theme)
我没有
Recources.Theme theme
那么现在,我仍想兼容使用这个方法,那可使用兼容方法
ContextCompat.getColor(context, R.color.color_name)
使用兼容库方式
可以在代码中添加Support V4库的依赖
在你的APP文件 build.gradle添加(具体的版本你可以根据实际情况选择)
compile 'com.android.support:support-v4:23.0.1'# or any version above
这个兼容方法是兼容包Support V4库所提供的(那么说,API Level4之后
版本可以兼容使用)
API level版本兼容处理
在代码中,可以根据API对当前运行
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
getColor(int id, Recources.Theme theme)
}else{
getColor(int id)
}
怎么获取Theme
可以通当前Context上下文对象调用getTheme() 获取当前资源样式主题Theme
例如:
在Activity中,可直接调用getTheme()
在Fragment中,可以选getActivity(),getBaseContext(), yourContext, etc