android - 设置 ActionBar 选项卡的样式

标签 android tabs android-styles

我正在尝试更改 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>

无论我在顶部样式定义中使用什么父样式,都会收到错误消息“找不到与给定名称匹配的资源:attr 'actionBarTabStyle'”。另外,我被告知无法解析符号“PropertyApp.ActionBar.Tab”。

最佳答案

您的问题是您正在为主 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关于更改选项卡背景。

关于android - 设置 ActionBar 选项卡的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23317975/

相关文章:

java - Android listview左右对齐

R shiny 根据先前的选项卡条件在导航栏中设置选项卡

android - fragment 未附加到相应的 fragment

JavaFX:选项卡内的锚定 Pane 约束

android - 避免在 android 中重复 fill_parent & wrap_content & match_parent

android - android风格声明中的 "?"是什么意思

android - Android中的自定义圆形按钮

Android图片回调数据为空

java - toast 继承主题背景

android - 如何编写类似 3d 移动窗口代码的 Android Youtube 小部件