关于操作栏的样式问题,有很多问题已经在stackoverflow上得到解答。但我发现这些问题要么与选项卡的样式有关,要么给出的答案对我无效。
实际上我的问题非常简单。我想要改变操作栏菜单项的文本样式(甚至只是颜色)。
我看过了以下内容:
以及这个问题:
Style an Action Bar in Android Honeycomb
我已经创建了一个测试应用程序,并使用这些资源来尝试更改菜单项。它使用了Eclipse Android插件创建应用程序时所有默认值,除了以下内容:
样式文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyAppTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar" parent="@android:style/Widget.Holo.ActionBar">
<item name="android:titleTextStyle">@style/MyActionBar.TitleTextStyle</item>
<item name="android:actionMenuTextAppearance">@style/MyActionBar.MenuTextStyle</item>
</style>
<style name="MyActionBar.TitleTextStyle"
parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">#F0F</item>
<item name="android:textStyle">bold</item>
<item name="android:textSize">24dip</item>
</style>
<style name="MyActionBar.MenuTextStyle"
parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">#F0F</item>
<item name="android:textStyle">bold</item>
<item name="android:textSize">24dip</item>
</style>
</resources>
一个用于操作栏的菜单:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:showAsAction="always|withText" android:icon="@android:drawable/ic_menu_edit"
android:id="@+id/menu_item1" android:title="menu_item1"></item>
<item android:showAsAction="always|withText" android:icon="@android:drawable/ic_menu_edit"
android:id="@+id/menu_item2" android:title="menu_item2"></item>
</menu>
主要活动:
public class Main extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
/**
* Create the options menu that is shown on the action bar
*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
return true;
}
}
应用程序编译并运行。操作栏标题文本的样式完美地工作(我定义的可爱粉色#F0F)。但是菜单项未更改外观,仍然使用默认样式(holo light)。
我做错了什么?
<item name="android:actionMenuTextColor">@color/action_bar_red</item>
。 - MoritzshowAsAction="always"
属性的项目。 - C0mpl3x