ActionBarSherlock选项卡的样式设计

3

我正在尝试为我的ActionBar使用ActionBarSherlock库实现样式化选项卡。以下是我的代码:

<style name="Theme.AndroidDevelopers" parent="Theme.Sherlock.Light.ForceOverflow">
                <item name="actionBarTabStyle">@style/CustomActionBarStyle</item>
                <item name="android:actionBarTabStyle">@style/CustomActionBarStyle</item>

            <style name="CustomActionBarStyle" parent="Widget.Sherlock.Light.ActionBar.TabBar">
                <item name="android:background">@drawable/actionbar_tab_bg</item>
            </style>

在第二和第三行中,如果我将actionBarTabStyle更改为actionBarStyle,则我的操作栏本身会更改为我想要的样式(当然不是非常好),因此连接确实有效。但是,尝试更改操作栏选项卡(在其下面),仍然没有成功。

我希望有人能帮助我。

敬礼


你检查了style标签的开闭吗? - Benoit Duffez
3个回答

13

以下代码应该可以运行

<style name="Theme.app" parent="@style/Theme.Sherlock.Light">
        <item name="android:actionBarTabBarStyle">@style/Theme.app.tabbar.style</item>
        <item name="actionBarTabBarStyle">@style/Widget.app.ActionBar.TabBar</item>
</style>

<style name="Theme.app.tabbar.style" parent="@style/Theme.Sherlock.Light">
    <item name="android:background">#FF0000</item>
    <item name="background">#FF0000</item>
</style>

<style name="Widget.app.ActionBar.TabBar" parent="Widget.Sherlock.ActionBar.TabBar">
    <item name="android:background">#FF0000</item>
    <item name="background">#FF0000</item>
</style>

这会使 tabBar 变成红色。

你需要设置两次 actionBarTabBarStyle。这是因为 Android > 3.0 和 Android <3.0 的原因。


我在这里做类似的事情!!! https://dev59.com/7HjZa4cB1Zd3GeqPeHTt - Etienne Lawlor

5
在你的CustomActionBarStyle中,你需要有:
<item name="android:background">@drawable/actionbar_tab_bg</item>
<item name="background">@drawable/actionbar_tab_bg</item>

希望这有所帮助 :)

感谢您的回复。然而,按照您的建议仍然无法解决问题。我真的不知道这里出了什么问题。 - Hidde
你尝试过使用父级 Widget.Sherlock.Light.ActionBar.TabView 吗? - chuckliddell0

0

因为我一开始找到了一种通过代码添加选项卡的方式,所以在样式方面遇到了一些困难。感谢您的回复,它们都有效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接