首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Android操作栏上设置菜单项的样式

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

Stack Overflow用户
提问于 2011-05-20 20:58:21
回答 8查看 136.4K关注 0票数 65

在操作栏上有很多关于样式的问题,但我发现的问题要么是与设置标签样式有关,要么是有对我不起作用的答案。

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

我读过这个:http://android-developers.blogspot.com/2011/04/customizing-action-bar.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+blogspot%2FhsDu+%28Android+Developers+Blog%29

还有这个问题:Style an Action Bar in Android Honeycomb

在此基础上,我组合了一个测试应用程序,我正在使用该应用程序尝试更改菜单项。它使用在eclipse android插件中创建的应用程序的所有默认值,但以下内容除外。

A样式文件:

<?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 )。菜单项不会更改,但使用默认样式(全息光源)。

我做错了什么?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-06-12 23:20:45

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

票数 63
EN

Stack Overflow用户

发布于 2013-04-24 01:08:54

我知道这是一个古老的帖子,但以防万一有人在这里看。我把这个添加到我的style.xml中,它对我很有效。

<!-- This is the main theme parent -->
<style name="MyTabStyle">
    <item name="android:actionBarTabTextStyle">@style/MyTabTextStyle</item>
</style>

<style name="MyTabTextStyle" parent="@android:style/Widget.ActionBar.TabText">
    <item name="android:textAppearance">@android:style/TextAppearance.Medium</item>
    <item name="android:textSize">14sp</item>
    <item name="android:textStyle">bold</item>
    <item name="android:textColor">@color/pressed_skylogtheme</item>
</style>
票数 7
EN

Stack Overflow用户

发布于 2011-12-19 22:10:07

我认为下面的代码

<item name="android:actionMenuTextAppearance">@style/MyActionBar.MenuTextStyle</item> 

必须在MyAppTheme部分中。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6072226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档