我以编程方式创建了一个包含这些元素的列表(不是ListView,只是将它们添加到父元素中):
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:layout_weight="1">
<TextView android:id="@+id/filiale_name"
android:layout_width="fill_parent" android:layout_height="wrap_content"/>
<TextView android:id="@+id/lagerstand_text"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:textSize="10sp" android:textColor="@color/red"/>
</LinearLayout>
另外,我在values/colors.xml中定义了一些颜色。如您所见,ID为“lagerstand_text”的TextView默认将其颜色设置为红色。那也行
在Java中创建元素时,我这样做
lagerstandText.setText("bla");
对于某些元素我也是
lagerstandText.setTextColor(R.color.red);
和其它颜色。虽然我没有调用setTextColor()的元素是红色的,但所有其他元素都是灰色的,无论我选择哪种颜色(即使它又是相同的红色)。
为什么会这样?
6条答案
按热度按时间liwlm1x91#
文档对此并不十分详细,但是在调用
setTextColor
时不能只使用R.color整数。您需要调用getResources().getColor(R.color.YOURCOLOR)
来正确设置颜色。使用以下命令以编程方式设置文本的颜色:
从支持库23开始,您必须使用以下代码,因为getColor已被弃用:
bmvo0sr52#
所以,有很多方法可以实现这个任务。
1.
2.
3.
四个
五个
z9zf31ra3#
1.你喜欢的标准颜色,请与下面的颜色搭配。
2.here要使用custwom颜色添加到color.xml文件
或
或
uemypmqf4#
为了将来的参考,您可以使用以下内容:
这样你就可以利用你的色彩资源。
ilmyapht5#
rnmwe5a26#
在
R
类中定义的特定颜色的整数id(在xml布局中定义)不能作为参数传递给View
类的setTextColor()
方法。必须通过以下代码行获取setTextColor()
的参数:方法
getColor(int id)
已经被贬低了......而使用上面代码行中的getColor(int id,Resources.Theme theme)
。