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個的顏色表示。