我使用此生成器为我的应用创建自定义主题: http://jgilfelt.github.io/android-actionbarstylegenerator/
但有一点我想改变,这个生成器不支持: 动作栏的文本颜色。
我尝试使用以下代码手动执行此操作:
<resources>
<style name="Theme.Bessel" parent="@android:style/Theme.Holo.Light">
<item name="android:titleTextStyle">@style/MyTextAppearance</item>
</style>
<style name="MyTextAppearance" parent="android:TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">#F8F8FF</item>
</style>
</resources>
但我的动作栏的文字颜色保持不变。有什么提示吗?
更新
<resources>
<style name="Theme.Bessel" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/Your.ActionBar</item>
</style>
<style name="Your.ActionBar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid">
<item name="android:background">@drawable/ab_background_textured_bessel</item>
<item name="android:backgroundStacked">@drawable/ab_stacked_solid_bessel</item>
<item name="android:backgroundSplit">@drawable/ab_background_textured_bessel</item>
<item name="android:progressBarStyle">@style/ProgressBar.Bessel</item>
<item name="android:titleTextStyle">@style/MyTextAppearance</item>
</style>
<style name="MyTextAppearance" parent="android:TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">#F8F8FF</item>
</style>
</resources>
答案 0 :(得分:1)
您需要将android:titleTextStyle
应用于Widget.ActionBar
固有的样式。因此,在您的情况下看起来像Widget.Holo.Light.ActionBar
。
<style name="Your.ActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:titleTextStyle">@style/MyTextAppearance</item>
</style>
然后使用ActionBar
在您的根主题中应用android:actionBarStyle
样式。
<style name="Theme.Bessel" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/Your.ActionBar</item>
</style>
要更改标签文字颜色,您需要一个继承Widget.ActionBar.TabText
的主题,在您的情况下看起来像是Widget.Holo.Light.ActionBar.TabText
。然后在根主题中应用样式使用android:actionBarTabTextStyle
。
<style name="Theme.Bessel" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarTabTextStyle">@style/Your.Widget.ActionBar.TabText</item>
</style>
<style name="Your.Widget.ActionBar.TabText" parent="@android:style/Widget.Holo.Light.ActionBar.TabText">
<item name="android:textColor">#F8F8FF</item>
</style>