Итак, у меня есть пункт меню, который определяется как:
<item
android:id="@+id/action_live"
android:title="@string/action_live"
android:orderInCategory="1"
app:showAsAction="ifRoom|withText" />
Он отображается как текст, как вы можете видеть ниже:
И я хочу программно изменить цвет текста "LIVE". Я искал какое-то время, и я нашел метод:
В глобальном определении:
private Menu mOptionsMenu;
и
@Override
public boolean onCreateOptionsMenu(Menu menu) {
mOptionsMenu = menu;
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
Я делаю:
MenuItem liveitem = mOptionsMenu.findItem(R.id.action_live);
SpannableString s = new SpannableString(liveitem.getTitle().toString());
s.setSpan(new ForegroundColorSpan(Color.RED), 0, s.length(), 0);
liveitem.setTitle(s);
Но ничего не происходит!
Если я делаю то же самое для элемента меню переполнения, он работает:
Есть ли ограничения для приложения: showAsAction = "ifRoom | withText"? Есть ли способ обхода?
Спасибо заранее.