如何在activity中动态的设置TextView上字体的颜色

2025-04-30 05:49:51
推荐回答(2个)
回答1:

private TextView mTextDisp;
mTextDisp = (TextView)
findViewById(R.id.textDisp_mian);

mTextDisp.setTextColor(R.color.red);(使用color.xml文件中的颜色值)

这样写是怎么也变不成红色的,而且程序不报错,不知道朋友们有没有试过。而且debug所走的分支也是正确的。

我就单独写了一个Demo来测试,结果还是灰显。
有的朋友要说,是不是red的颜色值写错了。不是,color中的颜色值配置对着呢。

其实,答案很简单,就错在mTextDisp.setTextColor(R.color.red);这行代码上。

首先,在xml中不要写默认的字体颜色值,即android:textColor="xxx"

其次,在activity中mTextDisp.setTextColor(context.getResources().getColor(R.color.red));(使用color.xml文件中的颜色值)

这样就OK了。或者直接使用Color类中的值:mTextDisp.setTextColor(Color.RED);(使用系统自带的颜色类Color类中的颜色值)。

回答2:

  1. 在xml中不要写默认的字体颜色值,即android:textColor="xxx"

  2. 在activity中mTextDisp.setTextColor(context.getResources().getColor(R.color.red));(使用color.xml文件中的颜色值) 

  3. 这样就可以了或者直接使用Color类中的值:mTextDisp.setTextColor(Color.RED);(使用系统自带的颜色类Color类中的颜色值)。