根據(jù)開發(fā)文件的描述咨堤,這個getColor(int id)方法在M之后被標(biāo)識為過時的方法(Deprecated)
它的替換方法要求兩個參數(shù),一個是顏色資源ID 漩符,一個是主題樣式對象
getColor(int id, Recources.Theme theme)
我沒有
Recources.Theme theme
那么現(xiàn)在一喘,我仍想兼容使用這個方法,那可使用兼容方法
ContextCompat.getColor(context, R.color.color_name)
使用兼容庫方式
可以在代碼中添加Support V4庫的依賴
在你的APP文件 build.gradle添加(具體的版本你可以根據(jù)實際情況選擇)
compile 'com.android.support:support-v4:23.0.1'# or any version above
這個兼容方法是兼容包Support V4庫所提供的(那么說,API Level4之后
版本可以兼容使用)
API level版本兼容處理
在代碼中,可以根據(jù)API對當(dāng)前運(yùn)行
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
getColor(int id, Recources.Theme theme)
}else{
getColor(int id)
}
怎么獲取Theme
可以通當(dāng)前Context上下文對象調(diào)用getTheme() 獲取當(dāng)前資源樣式主題Theme
例如:
在Activity中凸克,可直接調(diào)用getTheme()
在Fragment中,可以選getActivity()议蟆,getBaseContext(), yourContext, etc