7

如何修改Android应用程序的操作栏上项目的样式?修改ActionBar中Android项目的样式

我tryed如下:

<item name="android:actionBarStyle">@style/ActionBar.Light</item> 

<style name="ActionBar.Light" parent="@style/ActionBar"> 
     <item name="android:background">@color/black</item> 
     <item name="android:actionMenuTextColor">#FF00FF</item> 
</style> 

行动吧,我能够改变的背景下,而不是在操作栏项目的文本颜色。我该怎么做?

编辑:

我试过几乎所有的属性android:action,我发现,但我不能设法改变除背景外什么。以下代码只有第一个<item name="android:background">#FF0000</item>对我的代码进行了更改。无论我将哪种价值观放在测试风格上,它都不会改变任何东西。为什么会发生?

<item name="android:actionBarStyle">@style/ActionBar.Light</item> 

<style name="ActionBar.Light" parent="@style/ActionBar"> 
     <item name="android:background">#FF0000</item> 
     <item name="android:actionMenuTextColor">@style/Test</item> 
     <item name="android:actionButtonStyle">@style/Test</item> 
     <item name="android:actionModeBackground">@style/Test</item> 
     <item name="android:actionMenuTextAppearance">@style/Test</item> 
    </style> 

    <style name="Test"> 
     <item name="android:textColor">@color/white</item> 
     <item name="android:background">#FF0000</item> 
    </style> 

回答

13

如果你想改变菜单项的颜色你必须设置你的主题风格actionMenuTextColor操作栏。

<style name="PortfolioTheme" parent="android:style/Theme.Holo.Light"> 
    <item name="android:actionMenuTextColor">#24598a</item> 
    <item name="actionMenuTextColor">#24598a</item> 
</style> 

您没有在actionMenuTextAppearance中定义菜单项颜色!

+0

你好,我试过这个解决方案。它更改操作栏中的菜单项颜色。但是子菜单项可能不会改变。我该怎么做才能改变颜色或子菜单项。 – Dory

+0

嗨,你可能在谈论改变溢出菜单风格。我对解决方案并不十分确定,但请尝试检查以下链接: https://groups.google.com/forum/?fromgroups=#!topic/actionbarsherlock/5lHOKNlXn_4 http://stackoverflow.com/问题/ 14859794/actionbar-styled-overflow-menu-items – Tooroop

+0

这是为我做的sh * t。它也适用于ActionBarCompat(Android版v7支持包)。通过支持包快速查看为ActionBarCompat提供的资源文件,也确认了'actionMenuTextColor'属性。 – dbm

0

您可以通过改变颜色: -

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<style name="MyTheme" parent="@android:style/Theme.Holo.Light"> 
<item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item> 
</style> 

<style name="MyTheme.ActionBarStyle" parent="android:style/Widget.Holo.ActionBar"> 
<item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item> 
</style> 

<style name="MyTheme.ActionBar.TitleTextStyle" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title"> 
<item name="android:textColor">@color/red</item> 
</style> 
</resources> 
+0

没有在这里工作。这个android:titleTextStyle完全不影响我的代码,尽管我已经尝试过了。 –

+0

我想这只是为应用程序的标题,而不是itens的标题。 –

+2

可能是这个链接给你一些帮助... http://actionbarsherlock.com/theming.html – user755278