2011-11-25 80 views
-1
<string name="no_city"><font color='#FF0000'><b>Please select your location under Preferences in the menu</b></font> </string> 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.contents); 
    this.setContentView(R.layout.contents); 

    ChangeLog cl = new ChangeLog(this); 
    if (cl.firstRun()) 
     cl.getFullLogDialog().show(); 


    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 

    TextView text1 = (TextView)findViewById(R.id.textview1); 

    Resources res = getResources(); 
    String text = String.format(res.getString(R.string.no_city)); 
    CharSequence styledText = Html.fromHtml(text); 

    text1.setText(prefs.getString("listPref",res.getString(R.string.no_city))); 

我試圖更改no_city字符串文本的顏色。我的方式是將字符串輸入頂部,下面是java。 Ihav嘗試了十六進制和顏色名稱,但都沒有工作。我在Google的開發者網站上找到了關於如何引用這些更改的信息,它編譯得很好,但文本仍然是白色的。如果沒有從列表中選擇任何內容,我將使用具有列表首選項的字符串作爲默認顯示的字符串。當用戶進行選擇時,文本需要爲白色,所以我無法更改xml或java文件中的整個文本視圖顏色。我有一種感覺,我缺少一些小東西,或者我忽略了某些東西,但我無法追蹤它。變遷字符串文本顏色

回答

0

指定SPANNABLE作爲BufferType當您設置視圖上的文字:

text1.setText(styledText, TextView.BufferType.SPANNABLE); 
0

您試過​​???

0

你可以直接使用:

txt.setText(Html.fromHtml(getResources().getString(R.string.no_city)); 

參考this