在string.xml文件中,我使用以下标记
<string name="CodeColor" >"#0000ff"</string>
如果我使用
textview1.setTextColor(Color.RED);
它有效,但是当我使用
时 textview1.setTextColor(TextViewStyles.this.getResources().getColor(R.string.CodeColor));
or
textview1.setTextColor(R.string.CodeColor);
它不起作用。
任何建议......
先谢谢
答案 0 :(得分:15)
您需要在xml中创建一组样式(定期在res / values / styles.xml中)
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="gray">#eaeaea</color>
<color name="titlebackgroundcolor">#00abd7</color>
<color name="titlecolor">#666666</color>
<resources>
在布局文件中,您可以调用颜色或样式:
android:textColor="@color/titlecolor"
查看一些例子:
答案 1 :(得分:11)
您可以使用
textView1.setTextColor(getResources().getColor(R.color.mycolor))
或
textview1.setBackgroundColor(Color.parseColor("#ffffff"));
或
textview1.setBackgroundColor(Color.RED);
或
textView1.setBackgroundColor(R.color.black);
答案 2 :(得分:5)
这可能更容易:
TextView textresult = (TextView)findViewById(R.id.textView1);
textresult.setTextColor(Color.RED);
答案 3 :(得分:1)
你应该使用R.color.CodeColor
。您正在使用R.string.CodeColor
。
答案 4 :(得分:1)
尝试设置这样的颜色可以帮助你
txt.setTextColor(Color.rgb(0, 87, 48));
这是不同的方式,但它可以改变颜色,这里需要红色,绿色,蓝色代码传递
答案 5 :(得分:1)
我基本上只是合并所有部分好的答案。
您将颜色定义为String
,但AFAIK Android将颜色处理为Itegers
。
因此,请使用Colors.xml
文件(而不是strings.xml
):
并在代码中将其称为R.color.CodeColor
(此外,我认为,有一些命名约定会告诉您将这些值全部命名为小写:code_color
或codecolor
)
或者您可以将它们定义为字符串,但是您需要将其设置为整数:Color.parseColor(R.string.code_color)
。
答案 6 :(得分:0)
在 colors.xml 文件中定义颜色:
<resources>
<color name="CodeColor" >#0000ff</color>
</resources>
然后使用以下颜色在代码中使用颜色: R.color.CodeColor
祝你好运!答案 7 :(得分:-1)
我尝试过类似的事情:
textView.setTextColor(R.color.Red);