更改菜单android操作栏的标题文本颜色和大小
我正在开发android应用程序,在我的应用程序中,我正在使用Sherlock action bar。我正在使用一些菜单进入我的操作栏更改菜单android操作栏的标题文本颜色和大小,android,android-actionbar,submenu,textcolor,Android,Android Actionbar,Submenu,Textcolor,我正在开发android应用程序,在我的应用程序中,我正在使用Sherlock action bar。我正在使用一些菜单进入我的操作栏 <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/card_menu" android:title="C123" android:showAsAction="always">
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/card_menu"
android:title="C123"
android:showAsAction="always">
<menu>
<item android:id="@+id/C0"
android:title="C0"/>
<item android:id="@+id/c1"
android:title="c1" />
<item android:id="@+id/c2"
android:title="c2" />
</menu>
</item>
<item android:id="@+id/notification"
android:title="Notifications"
android:showAsAction="always"
android:actionLayout="@layout/notification_icon"
android:icon="@drawable/notification"
/>
<item android:id="@+id/filter"
android:icon="@drawable/filter"
android:title="Filter"
android:showAsAction="always"
/>
</menu>
现在我想做的是我想改变我的菜单项(c123)的标题颜色。我可以从样式更改子菜单的颜色,但无法更改该项文本的颜色。
我用下面的方法试过了
// this change my sunbmenu text color but I am not able to change color of item text(c123)
<item name="android:dropDownListViewStyle">@style/MyPopupMenu</item>
<item name="dropDownListViewStyle">@style/MyPopupMenu</item>
<style name="MyPopupMenu" parent="Widget.Sherlock.ListPopupWindow">
<item name="android:textAppearance">@style/TextAppearance.Sherlock.Widget.PopupMenu</item>
<item name="android:dropDownSelector">@color/white</item>
<item name="android:dividerHeight">@dimen/divider_height</item>
<item name="android:divider">@color/maroon</item>
</style>
<style name="TextAppearance.Sherlock.Widget.PopupMenu" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Menu">
<item name="android:textColor">@color/white</item>
</style>
//这将更改我的菜单文本颜色,但我无法更改项目文本(c123)的颜色
@样式/MyPopupMenu
@样式/MyPopupMenu
@style/TextAppearance.Sherlock.Widget.PopupMenu
@颜色/白色
@尺寸/分隔器高度
@颜色/栗色
@颜色/白色
我想修改菜单项的样式,改变文本的颜色和大小以及背景。如何做到这一点。我需要帮助。。
谢谢。您可以使用
SpannableString
而不是字符串来轻松更改菜单项
文本的颜色
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.your_menu, 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.setTitle(s);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.your_menu, 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.setTitle(s);
}