我试图更改ActionBar标签上的颜色以匹配我的应用中使用的颜色。我一直关注此处的博文:http://blog.alwold.com/2013/08/28/styling-tabs-in-the-android-action-bar/,这非常有帮助。但是,在步骤1中设置主题时,我无法找到父属性的正确值。该网站列出了" Theme.Sherlock",但我没有使用ActionBarSherlock,因此不适用。
我的XML如下:
<style name="PropertyApp" parent="@style/Widget.Holo.ActionBar.TabView">
<item name="android:actionBarTabStyle">@style/PropertyApp.ActionBar.Tab</item>
<item name="actionBarTabStyle">@style/FindMyTrain.ActionBar.Tab</item>
</style>
<style name="PropertyApp.ActionBar.Tab">
<item name="android:background">@drawable/tab_bar_background</item>
</style>
无论我在顶级样式定义中使用什么样的父样式,我都会收到错误消息&#34;找不到与给定名称匹配的资源:attr&#39; actionBarTabStyle&#39;&#34;。另外,我告诉我们这个符号&#34; PropertyApp.ActionBar.Tab&#34;无法解决。
答案 0 :(得分:2)
您的问题是您为主Widget.Holo.ActionBar.TabView
样式指定了PropertyApp
父样式。
您需要将其置于PropertyApp.ActionBar.Tab
样式中。
然后将PropertyApp
的主要父主题设置为Theme.Holo。
<style name="PropertyApp" parent="android:style/Theme.Holo">
<item name="android:actionBarTabStyle">@style/PropertyApp.ActionBar.Tab</item>
</style>
<style name="PropertyApp.ActionBar.Tab" parent="android:style/Widget.Holo.ActionBar.TabView">
<item name="android:background">@drawable/tab_bar_background</item>
</style>
父样式的命名还取决于您要定位的API级别。例如AppCompat,如果您正在使用它。
您可以在更改标签背景时参考documentation。