Android SDK 升級(jí)到 23 之后揍魂,getResource.getColor(R.color.color_name) 過(guò)時(shí),可以使用新加入的方法 ContextCompat.getColor(context, R.color.color_name) 笨使。
eg:
viewHolder.tv_day.setTextColor(context.getResources().getColor(R.color.color_red));//過(guò)時(shí)
viewHolder.tv_day.setTextColor(ContextCompat.getColor(context,R.color.color_white));
順嘴說(shuō)一下
setTextColor()的參數(shù)的設(shè)置方式:
setTextColor(0xFF0000FF);//0xFF0000FF是int類型的數(shù)據(jù),分組一下0x|FF|0000FF署隘,0x是代表顏色整數(shù)的標(biāo)記蓬戚,ff是表示透明度,0000FF表示顏色椰苟,注意:這里0xFF0000FF必須是8個(gè)的顏色表示抑月,不接受0000FF這種6個(gè)的顏色表示。
另外還可以使用系統(tǒng)自帶的顏色類
setTextColor(Android.graphics.Color.BLUE);
還有就是使用資源文件進(jìn)行設(shè)置
setTextColor(ContextCompat.getColor(context,R.color.blue));//通過(guò)獲得資源文件進(jìn)行設(shè)置舆蝴。根據(jù)不同的情況R.color.blue也可以是R.string.blue或者R.drawable.blue谦絮,當(dāng)然前提是需要在相應(yīng)的配置文件里做相應(yīng)的配置,如:
<color name="blue">#0000FF</color>
<drawable name="blue">#0000FF</drawable>
<string name="blue">#0000FF</string>
PS:如果是這種顏色#FFB032洁仗,也可以采用如下方法:
static final int COLOR1 = Color.parseColor("#FFB032");
textview.setTextColor(COLOR1);
setBackgroundColor用法
setBackgroundColor(Color.parseColor("#F5F5DC"));
setBackgroundColor(Color.argb(0,79,79,79)); //0完全透明 255不透明
setBackgroundDrawable(getResources().getDrawable(R.drawable.search_label_click));
當(dāng)出現(xiàn):
The method setBackgroundDrawable(Drawable) from the type View is deprecated
時(shí)层皱,(很明顯是該函數(shù)被廢棄了)把:
setBackgroundDrawable
換為
setBackgroundResource
即可。
且傳入的參數(shù)直接是resource的id赠潦,無(wú)需再去通過(guò)ID獲得View叫胖,更加方便。
eg:
viewHolder.ll_today.setBackgroundResource(R.drawable.bg_today);