2014-04-27 149 views
2

我正在尝试更改我的ActionBar选项卡上的颜色以匹配我的应用中使用的颜色。我一直在关注这里的博客帖子:http://blog.alwold.com/2013/08/28/styling-tabs-in-the-android-action-bar/这非常有帮助。但是,在步骤1中设置主题时,找不到父属性的正确值。网站列出“Theme.Sherlock”,但我没有使用ActionBarSherlock,所以不适用。样式ActionBar标签

我的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> 

不管是什么我用在上面的样式定义父样式,我得到的是“没有资源的发现,给定的名字相匹配的错误:ATTR“actionBarTabStyle “”。另外,我被告知符号“PropertyApp.ActionBar.Tab”无法解析。

回答

2

您的问题是,您正在为主PropertyApp风格指定Widget.Holo.ActionBar.TabView父风格。

你需要把它放在你的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更改选项卡背景。

+0

我欣赏编辑,它使你的答案更清晰。谢谢。 – MrWizard54

+0

@ MrWizard54对不起,哈哈,我以前说过的话有点不对劲。另外,我让它比它需要的更复杂。 – singularhum