如何删除ActionBar和选项卡之间的分隔符

时间:2014-11-03 23:21:07

标签: android tabs android-actionbar divider

我试图删除ActionBar和标签之间的分隔符,但我还没有成功。 我在我的style.xml中尝试了这个<item name="android:actionBarDivider">@color/tab_color</item>,但没有。 简而言之,我想要这样的东西: enter image description here

这是我的style.xml:

<style name="AppTheme" parent="Theme.AppCompat.Light"/>

<style name="Theme.Styled" parent="@style/Theme.AppCompat.Light">
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowDisablePreview">true</item>
    <item name="android:actionBarItemBackground">@drawable/selectable_background_example</item>
    <item name="android:actionBarTabStyle">@style/Widget.Styled.ActionBar.TabView</item>
    <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
    <item name="android:actionBarTabTextStyle">@style/MyCustomTabView</item>
    <item name="android:actionBarDivider">@color/tab_color</item>
</style>

<style name="Widget.Styled.ActionBar.TabView"
    parent="@style/Widget.AppCompat.Light.ActionBar.TabView">
    <item name="android:background">@drawable/tab_indicator_ab_example</item>
    <item name="android:width">30dp</item>
</style>

<style name="Widget.Styled.ActionBar"
    parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
    <item name="android:background">@color/tab_color</item>
    <item name="android:backgroundStacked">@drawable/ab_stacked_solid_example</item>
    <item name="android:backgroundSplit">@color/tab_color</item>
    <item name="android:textColor">@color/tab_text</item>
    <item name="android:titleTextStyle">@style/MyActionBarTextColor</item>
    <item name="android:actionBarDivider">@color/tab_color</item>
</style>

<style name="MyActionBarTextColor" parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">@color/tab_text</item>
</style>

<style name="MyCustomTabView" parent="Theme.AppCompat.Light">
    <item name="android:textColor">#ffffff</item>
    <item name="android:textSize">14dp</item>
    <item name="android:textStyle">bold</item>
</style>

这就是我所拥有的 enter image description here

3 个答案:

答案 0 :(得分:4)

Theme.Holo.Light底部有一个默认阴影,因此也可能是appCompat,尝试使用默认的Theme.AppCompat

您的背景使用图片,请尝试使用此类@color/tab_color

<style name="Widget.Styled.ActionBar"
    parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
    <item name="android:background">@color/tab_color</item>
    <item name="android:backgroundStacked">@color/tab_color</item>
    <item name="android:backgroundSplit">@color/tab_color</item>
    <item name="android:textColor">@color/tab_text</item>
    <item name="android:titleTextStyle">@style/MyActionBarTextColor</item>
    <item name="android:actionBarDivider">@color/tab_color</item>
</style>

来源:

ActionBarSherlock issue

Removing line or divider in Android

Remove divider under actionbar

Remove blue divider on ICS

答案 1 :(得分:3)

您可以通过在styles.xml文件中粘贴此代码轻松删除分隔符

<item name="windowActionBarOverlay">true</item>
<item name="android:windowActionBarOverlay">true</item>

但是根据Googles new Tab design principles,标签条的设计不同,并且还有一种不同的颜色使用方式。

答案 2 :(得分:1)

我尝试了发布的答案,但出于某种原因,他们并没有为我工作。这样做了:

    <item name="windowActionBarOverlay">true</item>
    <item name="android:windowActionBarOverlay">true</item>

我在我的应用主题中设置了这些属性,这对我有用。