private TextView tv;
tv= (TextView) findViewById(R.id.textDisp_mian);
tv.setTextColor(R.color.red);(使用color.xml文件中的颜色值)
这样写是怎么也变不成红色的,而且程序不报错,不知道朋友们有没有试过。而且debug所走的分支也是正确的。
我就单独写了一个Demo来测试,结果还是灰显。
有的朋友要说,是不是red的颜色值写错了。不是,color中的颜色值配置对着呢。
解决方法:
其实,答案很简单,就错在tv.setTextColor(R.color.red);这行代码上。首先,在xml中不要写默认的字体颜色值,即android:textColor="xxx"
其次,在activity中tv.setTextColor(context.getResources().getColor(R.color.red));(使用color.xml文件中的颜色值)
或者直接使用颜色值:mTextDisp.setTextColor(0xffff00ff);//0xffff00ff是int类型的数据,分组一下0x|ff|ff00ff,0x是代表颜色整数的标记,ff是表示透明度,ff00ff表示颜色,注意:这里ffff00ff必须是8个的颜色表示,不接受ff00ff这种6个的颜色表示。