我想让MenuItem
我的应用程序操作栏中的 s 之一根据其值更改颜色。还有其他项目应保留默认样式,因此我无法将样式应用于整个操作栏,只能针对这一项目。我试过使用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);
然后按预期设置标题,并应用文本颜色。有没有办法SpannableString
在MenuItem
s 以及整个操作栏标题上进行工作?或者设置操作栏菜单项的文本颜色的另一种方法?