2014-02-22 115 views
0

我需要在具有不同顏色的屏幕中放置文本。Android - 在XML中定義的字符串中的不同顏色

我可以這樣做:

Text <font color="red">Text in red</font> 

但我要以十六進制的顏色。

這不起作用:

Text <font color="#a22142">Text in red</font> 

我已經嘗試過:

  • 指定顏色與阿爾法:

    Text <font color="#FFa22142">Text in red</font> 
    
  • 使用CDATA

  • 定義顏色在colors.xml並在第一個代碼中用紅色代替它。

所以,我的問題是:

如何指定在strings.xml中定義字符串中的十六進制顏色?

回答

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

您可以設置字符串作爲HTMLTextView像:

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

+0

你的鏈接有幫助了我很多,一會喜歡接受你的答案。 – jonathanrz

相關問題