当前位置: 首页 > 知识库问答 >
问题:

在strings.xml内改变颜色

裴昕
2023-03-14

我是新来的Android,并想知道如何更改字符串标记中strings.xml文件内的字体颜色。

例如我有:

  <string name="hello_world">Hello world!</string>

我只是想让它显示为红色和蓝色

Thanx

共有3个答案

纪正德
2023-03-14

只需在字体标签之间添加文本:

对于蓝色

<string name="hello_world"><font color='blue'>Hello world!</font></string>

还是红色

<string name="hello_world"><font color='red'>Hello world!</font></string>
许胡非
2023-03-14

对于那些想把颜色串起来的人。直接使用xml,不想使用颜色。。。

实例

<string name="status_stop"><font fgcolor='#FF8E8E93'>Stopped</font></string> <!--gray-->
<string name="status_running"><font fgcolor='#FF4CD964'>Running</font></string> <!--green-->
<string name="status_error"><font fgcolor='#FFFF3B30'>Error</font></string> <!--red-->

如你所见,有灰色、红色和绿色,有8个字符,前两个表示透明度,其他表示颜色。

示例

This a description of color and transparency
#   FF               FF3B30    
    Opacity          Color

注:把颜色在文本在同一string.xml将不工作在Android 6.0及以上

不透明度表

100% — FF
99% — FC
98% — FA
97% — F7
96% — F5
95% — F2
94% — F0
93% — ED
92% — EB
91% — E8
90% — E6
89% — E3
88% — E0
87% — DE
86% — DB
85% — D9
84% — D6
83% — D4
82% — D1
81% — CF
80% — CC
79% — C9
78% — C7
77% — C4
76% — C2
75% — BF
74% — BD
73% — BA
72% — B8
71% — B5
70% — B3
69% — B0
68% — AD
67% — AB
66% — A8
65% — A6
64% — A3
63% — A1
62% — 9E
61% — 9C
60% — 99
59% — 96
58% — 94
57% — 91
56% — 8F
55% — 8C
54% — 8A
53% — 87
52% — 85
51% — 82
50% — 80
49% — 7D
48% — 7A
47% — 78
46% — 75
45% — 73
44% — 70
43% — 6E
42% — 6B
41% — 69
40% — 66
39% — 63
38% — 61
37% — 5E
36% — 5C
35% — 59
34% — 57
33% — 54
32% — 52
31% — 4F
30% — 4D
29% — 4A
28% — 47
27% — 45
26% — 42
25% — 40
24% — 3D
23% — 3B
22% — 38
21% — 36
20% — 33
19% — 30
18% — 2E
17% — 2B
16% — 29
15% — 26
14% — 24
13% — 21
12% — 1F
11% — 1C
10% — 1A
9% — 17
8% — 14
7% — 12
6% — 0F
5% — 0D
4% — 0A
3% — 08
2% — 05
1% — 03
0% — 00

参考:了解Android中的颜色(6个字符)

这个功能是兼容Android的所有版本,我没有在Android 7.0测试。使用此函数在文本视图中获取颜色和设置

文件字符串和颜色的xml格式示例

<!-- /res/values/strings.xml -->
<string name="status_stop">Stopped</string>
<string name="status_running">Running</string>
<string name="status_error">Error</string>

<!-- /res/values/colors.xml -->
<color name="status_stop">#8E8E93</color>
<color name="status_running">#4CD964</color>
<color name="status_error">#FF3B30</color>

函数通过android 6.0及以上版本的验证从xml中获取颜色

public static int getColorWrapper(Context context, int id) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {//if actual version is >= 6.0
            return context.getColor(id);
        } else {
            //noinspection deprecation
            return context.getResources().getColor(id);
        }
    }

例子:

TextView status = (TextView)findViewById(R.id.tvstatus);
status.setTextColor(getColorWrapper(myactivity.this,R.color.status_stop));

参考:在Android 6.0Marshmallow(API 23)上不建议使用getColor(int id)

鄢英哲
2023-03-14

试试这个

对于红色,

<string name="hello_worldRed"><![CDATA[<b><font color=#FF0000>Hello world!</font></b>]]></string>

对于蓝色,

<string name="hello_worldBlue"><![CDATA[<b><font color=#0000FF>Hello world!</font></b>]]></string>

在java代码中,

//red color text
TextView redColorTextView = (TextView)findViewById(R.id.redText);
String redString = getResources().getString(R.string.hello_worldRed)
redColorTextView.setText(Html.fromHtml(redString));

//Blue color text
TextView blueColorTextView = (TextView)findViewById(R.id.blueText);
String blueString = getResources().getString(R.string.hello_worldBlue)
blueColorTextView.setText(Html.fromHtml(blueString));
 类似资料:
  • 我使用的是Eclipse Color Theme插件。 当我更改主题时,除了.等之外,所有的颜色都改变了。 它们保持黑色,而当我试图使用深色主题时,这使得事情变得困难。 问题是在使用Groovy时没有正确设置语法颜色。 这解决了问题

  • 嘿,伙计们,我刚刚在android工作室创建了一个应用程序。在菜单栏有“更多的选项”我创建,但它不是清晰可见,它的颜色是白色,我想要黑色。如何改变那个颜色检查屏幕截图。 在此输入图像说明

  • 只是尝试在CSS中练习悬停和下拉。在下面的代码中,我希望每当下拉子div(带有Home1文本的绿色div)悬停在上面时,的背景色(红色)应该更改为蓝色。 会很感激你的帮助。 null null

  • 我是Java脚本的初学者,我用Java脚本编写了bellow代码,将文本颜色变为红色,但它不起作用,我的代码中有什么错误吗?

  • 我有一个房子的资源链接,如果你想查看它。它基本上只是一个黑色的主页按钮。 我有它包括和导入作为图像资产作为绘图。 我试图将其设置为按钮,但以编程方式将其更改为白色。 以下是我尝试将颜色更改为白色的方法: 知道我哪里出错了吗?

  • 目标 在本教程中,你将学习如何将图像从一个色彩空间转换到另一个,像BGR↔灰色,BGR↔HSV等 除此之外,我们还将创建一个应用程序,以提取视频中的彩色对象 你将学习以下功能:cv.cvtColor,cv.inRange等。 改变颜色空间 OpenCV中有超过150种颜色空间转换方法。但是我们将研究只有两个最广泛使用的,BGR↔灰色和BGR↔HSV。 对于颜色转换,我们使用cv函数。cvtColo