9

在 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);

它不起作用。有什么建议么...

提前致谢

4

8 回答 8

16

您需要在 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"

查看一些示例:

http://developer.android.com/guide/topics/ui/themes.html

于 2012-09-21T05:49:33.753 回答
15

您可以使用

  textView1.setTextColor(getResources().getColor(R.color.mycolor))

或者

  textview1.setBackgroundColor(Color.parseColor("#ffffff"));

或者

    textview1.setBackgroundColor(Color.RED);

或者

    textView1.setBackgroundColor(R.color.black);
于 2012-09-21T06:09:38.343 回答
5

这可能更容易:

TextView textresult = (TextView)findViewById(R.id.textView1);
textresult.setTextColor(Color.RED);
于 2014-09-18T14:00:28.307 回答
1

你应该使用R.color.CodeColor. 你正在使用R.string.CodeColor.

于 2012-09-21T05:55:22.717 回答
1

尝试像这样设置颜色可能会对您有所帮助

txt.setTextColor(Color.rgb(0, 87, 48));

这是不同的方式,但它可以改变颜色,这里需要红色,绿色,蓝色代码才能通过

于 2012-09-21T06:16:16.753 回答
1

我基本上只是合并所有部分好的答案。

您将颜色定义为String,但 AFAIK Android 将颜色处理为Itegers
所以使用Colors.xml文件(而不是strings.xml):并在代码中将其称为R.color.CodeColor.
(此外,我认为,有一些命名约定告诉您将这些值全部命名为小写:code_colorcodecolor

或者您可以将它们定义为字符串,但随后您需要将其设为 Integer: Color.parseColor(R.string.code_color)

于 2013-08-14T15:00:15.803 回答
0

像这样在colors.xml文件中定义颜色:

  <resources>
       <color name="CodeColor" >#0000ff</color>
  </resources>

然后在代码中使用任何你喜欢的颜色:R.color.CodeColor

祝你好运!

于 2012-09-21T05:54:17.523 回答
-1

我试过类似的东西:

textView.setTextColor(R.color.Red);

于 2018-07-24T12:36:20.407 回答