将文本颜色应用于单个ActionBar菜单项

时间:2013-10-21 19:17:38

标签: android android-actionbar

我希望我应用的操作栏中的MenuItem之一根据其值更改颜色。还有其他项目应该保留默认样式,这样我就不能将样式应用到整个操作栏,它只需要这个项目。我尝试使用SpannableString这样:

MenuItem item = getActionBar().findItem(R.id.item_id);
SpannableString colouredString = new SpannableString("Item");

colouredString.setSpan(new ForegroundColorSpan(
    booleanStatement ? Color.RED : Color.GREEN
), 0, colouredString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

item.setTitle(colouredString);

这会正确设置值,但项目的文本颜色不受影响。如果我加入

getActionBar().setTitle(colouredString);

然后按照预期设置标题,并应用文本颜色。有没有办法让SpannableStringMenuItem以及整体操作栏标题起作用?或者另一种设置操作栏菜单项的文本颜色的方法?

0 个答案:

没有答案