我正在尝试以编程方式将 ForegroundColorSpan 设置到操作栏 MenuItem ...
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater mInflater = getSupportMenuInflater();
mInflater.inflate(R.menu.menu_main, menu);
MenuItem menuProfile = menu.findItem(R.id.profile);
menuProfile.setTitle(createProfileMenuTitle(this));
}
public static SpannableStringBuilder createProfileMenuTitle(Context c)
{
SpannableStringBuilder b = new SpannableStringBuilder();
int s = b.length();
b.append(c.getString(R.string.Username));
int e = b.length();
b.setSpan(new ForegroundColorSpan(c.getResources().getColor(R.color.someColor)), s, e, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
b.append(" ..some more text here");
return b;
}
它不工作。知道如何解决这个问题吗?(没有在 MenuItem 上使用 setActionView 这样做会失去默认布局样式的所有所需行为)