android更改选项菜单文本颜色

时间:2014-02-20 05:15:28

标签: android textcolor optionmenu

这些天我一直在开发app,用于更改文本项的代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater=getMenuInflater();
    inflater.inflate(R.menu.main, menu);

        int positionOfMenuItem = 0; // or whatever...
    MenuItem item = menu.getItem(positionOfMenuItem);
    SpannableString s = new SpannableString("My red MenuItem");
    s.setSpan(new ForegroundColorSpan(Color.RED), 0, s.length(), 0);
    item.setTitleCondensed(s);
    return true;
}

它工作得很漂亮,但当我单击菜单项时,它会停止并显示错误

LogCat

1 个答案:

答案 0 :(得分:1)

使用其中一个Spannable标志常量作为setSpan()调用的最后一个参数,例如Spannable.SPAN_EXCLUSIVE_EXCLUSIVE。请参阅http://developer.android.com/reference/android/text/Spannable.html

另外,请考虑在inflate之后将代码移至onPrepareOptionsMenu()

以下帖子可能有用:http://www.techrepublic.com/article/style-androids-overflow-menu-using-this-sanity-saving-workaround/