以下是我在操作栏中向菜单添加项目的方法:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
TypefaceSpan actionBarTypeFace = new CustomTypefaceSpan("", a.bumpFont);
SpannableString s = new SpannableString("Done"));
s.setSpan(actionBarTypeFace, 0, s.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
MenuItem item = menu.add(21, 142, 0, s);
item.setTitle(BaseActivity.isLGDevice() ? "Done") : s);
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
// fix android formatted title bug
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR2 && item.getTitleCondensed() != null) {
item.setTitleCondensed("Done"));
}
}
项目字体通常为白色,但在Lollipop上为黑色。任何人都知道这是什么原因,我该如何解决?
答案 0 :(得分:2)
任何人都知道原因是什么......
很可能是因为Lollipop前设备和Lollipop设备上的应用主题具有不同的菜单项文字颜色。
......我该如何解决?
我已按以下方式更改了应用中菜单项文字颜色的颜色:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:itemTextAppearance">@style/MenuTextAppearance</item>
</style>
<style name="MenuTextAppearance" parent="@android:style/TextAppearance.Widget.IconMenu.Item">
<item name="android:textColor">#FFF</item>
</style>
基本上,您需要做的就是制作自己的MenuTextApperance
样式并将其设置在应用的主题"android:itemTextAppearance"
元素中。