原文链接http://blog.csdn.net/u012532559/article/details/44925285
Android中设置TextView的颜色有方法setTextColor,这个方法被重载了,可以传入两种参数。一种方法是传入int color值,要注意这个int不是R文件中自动分配的十六进制int值,这是Color类中的静态方法构造出来的颜色int值。另一种方法是通过ColorStateList得到xml中的配置的颜色的。好多需要xml中配置的都要类似这样的映射xml文件(比如一个按钮事件的选择器,默认状态为颜色A,点击时状态为颜色B等等选择效果)。
setTextColor的两种重载方法如下:
[java]view plaincopy
publicvoidsetTextColor(intcolor) {
mTextColor = ColorStateList.valueOf(color);
updateTextColors();
}
publicvoidsetTextColor(ColorStateList colors) {
if(colors ==null) {
thrownewNullPointerException();
}
mTextColor = colors;
updateTextColors();
}
第一种重载方法有以下实现方式:
方法一:通过ARGB值的方式
textview.setTextColor(Color.rgb(255,255, 255));
textview.setTextColor(Color.parseColor("#FFFFFF"));
方法二:通过资源引用
textview.setTextColor(mContext.getResources().getColor(R.drawable.contact_btn_text_red))
#f2497c
第二种重载方法的实现:
[java]view plaincopy
textview.setTextColor(mContext.getResources().getColorStateList(R.drawable.big_btn_text_color));
选择器big_btn_text_color.xml
[html]view plaincopy