为什么我的自定义样式未应用于操作栏?

时间:2014-03-07 18:16:08

标签: android android-layout android-actionbar

我已经搜索了很多方法来自定义Action Bar。

基本上我需要为操作栏提供颜色,文本颜色和颜色,文本颜色,下划线颜色到操作栏的导航选项卡(它们在操作栏下)。

所以我准备了一个XML样式文件,如下所示。您可以看到在第二个块中有对文本样式和导航选项卡样式的所有引用

<?xml version="1.0" encoding="utf-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="MyTheme.ActionBar" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

<!-- ActionBar styles: inherit the parent theme and override it with other themes -->
<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:background">#6b3f8f</item> <!-- #5b327c  -->
    <!-- <item name="android:titleTextStyle">@style/MyActionBarTitleText</item> -->
    <item name="android:actionBarTabStyle">@style/tabStyle</item>
</style>

<!-- ActionBar title text -->
<style name="MyActionBarTitleText" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
    <item name="android:textColor">#FFFFFF</item>
</style>

<!-- navigations tabs styles -->
<style name="tabStyle" parent="@android:style/Widget.Holo.Light.ActionBar.TabView">
    <item name="android:background">#000000</item>
    <item name="android:backgroundStacked">#000000</item>
    <item name="android:backgroundSplit">#000000</item>
</style>

ActionBar的颜色正在改变而其他颜色没有,为什么?我认为可以很好地扩展这些属性。这是我的表现:

<!-- @android:style/Theme.Holo.Light -->
<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/MyTheme.ActionBar"
    android:allowBackup="true">
.....
</aplication>

1 个答案:

答案 0 :(得分:1)

android:backgroundStackedandroid:backgroundSplit应放在MyActionBar下,而不是您的标签样式,因为它们都是Widget.Holo.ActionBar的继承。