0

我想让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);

然后按预期设置标题,并应用文本颜色。有没有办法SpannableStringMenuItems 以及整个操作栏标题上进行工作?或者设置操作栏菜单项的文本颜色的另一种方法?

4

0 回答 0