2011-11-22 70 views
2

在我的应用程序中,我使用了基于Theme.Holo.Light 的自己的主题。但是我已经自定义了actionBarStyle,将背景可绘制设置为蓝色渐变以适合我应用程式的风格。将动作栏溢出图标更改为黑色版本

然而,随着晕光的主题,动作栏文本是黑暗的,&默认的图标,如向上导航箭头菜单图标是黑暗的,这些并不在我的蓝色渐变去。

正如你可以从我的XML看到,我已经设法改正标题文字颜色,但我找不到我需要覆盖的图标的属性。

如何更改告诉主题,以有效地使用图标上的动作条从Theme.Halo ,而不是那些仍然使用Theme.Halo.Light

Theme.Halo.Light但使我的应用程序的其余部分

这里是我当前的XML

<style name="MyLightTheme" parent="android:Theme.Holo.Light"> 
    <item name="android:actionBarStyle">@style/MyActionBar</item> 
</style> 

<style name="MyActionBar" parent="android:style/Widget.Holo.ActionBar"> 
    <item name="android:background">@drawable/blue_gradient_light</item> 
    <item name="android:titleTextStyle">@style/Theme.ActionBar.TitleTextStyle</item> 
</style> 

<style name="Theme.ActionBar.TitleTextStyle" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title"> 
    <item name="android:textColor">@color/solid_white</item> 
</style> 

感谢您的帮助

回答

4

使用Theme.Holo.Light.DarkActionBar作为你的基地,如果你想这样做。它会照顾这些细节。

+0

谢谢,这类图标,它似乎不会影响操作栏上的文本,例如。标题仍然黑暗。所以它似乎我的覆盖仍然是必要的 – Rob

+0

它,它工作正常,它的基地使用黑暗的操作栏,但只要我重写actionBarStyle,所以我可以设置我的蓝色渐变文本行为就好像它是光行动酒吧 – Rob

+0

此外,请确保将任何自定义视图放入操作栏(作为操作栏自定义视图,自定义选项卡视图或操作视图),以便使用正确的上下文以使它们正确为主题。通过调用ActionBar#getThemedContext(),您可以获得用于操作栏的Context。 – adamp