如何设置 Android 操作栏上菜单项的样式

2024-01-08

关于操作栏样式的问题有很多,但我发现的问题要么与选项卡样式有关,要么有不适合我的答案。

问题其实很简单。我希望能够更改操作栏中菜单项的文本样式(甚至只是颜色)。

我读过这个:

还有这个问题:Android Honeycomb 中的操作栏样式 https://stackoverflow.com/questions/5123086/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)。菜单项不会改变,但具有默认样式(全息灯)。

我究竟做错了什么 ?


而不是拥有android:actionMenuTextAppearance您的操作栏样式下的项目,将其移动到您的应用程序主题下。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何设置 Android 操作栏上菜单项的样式 的相关文章

随机推荐