样式操作栏选项卡

时间:2014-08-20 14:58:19

标签: android tabs

我尝试了很多方法来设置操作栏导航标签的样式,我无法让他们做任何我想做的事情。我只想要红色导航标签,我想设置文字颜色和高亮颜色。我甚至无法更改标签颜色。这是一个非常神秘的系统,有许多错综复杂的向导陷阱,我无法解释或剔除任何意义。

清单:        

<application
    android:theme="@style/MyActionBarTheme"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name="com.test.project.MainActivity"
        android:label="@string/app_name"
        android:theme="@style/MyCustomTheme"
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

Styles.xml:

 <resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="MyActionBarTheme" parent="@android:style/Widget.Holo.Light">
        <item name="android:actionBarStyle">@style/MyActionBarTheme</item>
    </style>

    <style name="MyActionBarTheme" parent="@android:style/Widget.Holo.Light.ActionBar.TabBar">
         <item name="android:background">#DC4B33</item>
    </style>

 </resources>

我真的不知道我还能做些什么。我不知道为什么这不起作用,我尝试了很多其他的方法,但是这个方法应该可行。

在MainActivity中我有

    ab.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

这样做会将我的整个应用程序设置为红色,显然我不希望这样,因为这是我在样式中明确指定的内容。我明确指出我希望actionBar选项卡为红色,但它会使整个应用程序变为红色。为什么?我只是不明白主题是如何运作的,似乎它正在做任何想做的事。

任何人都可以解释这种行为吗?为什么将ActionBar.tabbar的背景设置为红色使我的整个应用程序变为红色?

1 个答案:

答案 0 :(得分:0)

我改变了

 <style name="MyActionBarTheme" parent="@android:style/Widget.Holo.Light">
    <item name="android:actionBarStyle">@style/MyActionBarTheme</item>
</style>

 <style name="MyActionBarTheme" parent="@android:style/Widget.Holo.Light">
    <item name="android:actionBarTabBarStyle">@style/MyActionBarTheme</item>
</style>

使actionBarTabBarStyle修复它,我不知道这是一个选项,因为没有来自android的文档,我的IDE中没有选项。我想现在这是官方文件。