如何在动作栏menuItem之前删除divider,它只包含文本?

时间:2013-04-01 12:27:51

标签: android actionbarsherlock

我想在ActionBar的MenuItem之前移除短分隔符,其中包含“withText”选项。

我尝试了许多不同的主题设置,但失败了。

是否有任何解决方案可以删除它?

这是我的主题xml。

 <style name="my_actionbar" parent="@style/Widget.Sherlock.Light.ActionBar.Solid">
    <item name="android:background">@drawable/actionbar_bg</item>
    <item name="background">@drawable/actionbar_bg</item>
    <item name="android:actionBarDivider">@null</item>
    <item name="actionBarDivider">@null</item>
    <item name="android:showDividers">none</item>
    <item name="android:dividerVertical">@null</item>
    <item name="android:dividerPadding">0dp</item>
    <item name="android:divider">@null</item>
</style>

4 个答案:

答案 0 :(得分:21)

android:actionBarDivider属性属于主题,而不属于操作栏样式。你可以删除这样的分隔符:

<style name="AppTheme" parent="Theme.Sherlock">
    <item name="actionBarDivider">@null</item>
    <item name="android:actionBarDivider">@null</item>
</style>

答案 1 :(得分:1)

我通过将主题上的android:listDivider属性设置为一些透明的drawble来解决这个问题。但是我不知道这个设置的副作用。

主题:

<style name="Theme_Main" parent="@style/Theme.Sherlock.Light">
    ....
    <item name="android:listDivider">@drawable/shape_blank</item>
</style>

shape_blank.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="line">
    <solid android:color="@android:color/transparent"/>
</shape>

答案 2 :(得分:0)

我使用下面的魔法线从tabbar中删除了分隔线。

  mTabHost.getTabWidget().setDividerDrawable(null);

OR

  mTabHost.getTabWidget().setDividerDrawable(R.Color.transperant);

答案 3 :(得分:-1)

在片段/活动

中使用以下代码
getSupportActionBar().setElevation(0);