在應用程序中,我正在處理來自HTTP響應的各種UI元素的顏色,即着色在運行時完成,無法使用Android主題完成。動態更改工具欄的文本顏色MenuItem文本
有關此主題的其他問題,但大多數都使用主題,或者如果動態代碼,代碼不起作用。例如,使用跨度:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
menuItemGoalSave = menu.findItem(R.id.action_goal_edit_save);
SpannableString s = new SpannableString(menuItemGoalSave.getTitle() + "XX");
ForegroundColorSpan span = new ForegroundColorSpan(Color.RED);
s.setSpan(span, 0, s.length(), 0);
menuItemGoalSave.setTitle(s);
return true;
}
或應用HTML字符串的類似方法。
理論上面的代碼使用着色的跨度,但雖然標題附加了「XX」(即代碼正在運行並影響菜單項),但顏色不會改變。
有什麼辦法可以動態地影響這個工具欄動作項目文本的顏色嗎?
請在什麼時刻澄清你設置新的顏色 –
我有靈活性,但目前正在試圖做到這一點在onPrepareOptionsMenu() –