我尝试了很多方法来设置操作栏导航标签的样式,我无法让他们做任何我想做的事情。我只想要红色导航标签,我想设置文字颜色和高亮颜色。我甚至无法更改标签颜色。这是一个非常神秘的系统,有许多错综复杂的向导陷阱,我无法解释或剔除任何意义。
清单:
<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的背景设置为红色使我的整个应用程序变为红色?
答案 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中没有选项。我想现在这是官方文件。