我需要在屏幕上放置一个不同颜色的文字。
我可以这样做:
Text <font color="red">Text in red</font>
但我需要以十六进制指定颜色。
这不起作用:
Text <font color="#a22142">Text in red</font>
我已经尝试过:
使用alpha指定颜色:
Text <font color="#FFa22142">Text in red</font>
使用CDATA
所以,我的问题是:
如何在strings.xml中定义的字符串中以十六进制指定颜色?
答案 0 :(得分:2)
Text <font color="#a22142">Text in red</font>
应该有效,你是否像下面那样使用过它?
yourTextView.setText(Html.fromHtml("Text <font color="#a22142">Text in red</font>"));
使用string.xml可能需要它:
yourTextView.setText(Html.fromHtml(getString(R.string.your_string_id)));
可能你需要使用CDATA。
P.S。一个很好的图书馆到Android颜色:https://github.com/MatthewYork/Colours
答案 1 :(得分:1)
您可以将字符串HTML
设置为TextView
,如:
String first = "This word is ";
String next = "<font color='#EE0000'>Text in red</font>";
yourTextView.setText(Html.fromHtml(first + next));
有关更多信息,请访问:http://daniel-codes.blogspot.in/2011/04/html-in-textviews.html