【问题标题】:Get rid of blue line摆脱蓝线
【发布时间】:2013-05-14 09:14:16
【问题描述】:

在 ActionBarSherlock 的帮助下,我尝试让我的应用在 3.0 之前的设备上运行。操作栏中有一个蓝色分隔线,我想将其删除。

我发现它不是分隔线,而是操作栏背景图形的一部分。为了摆脱蓝线,我决定像这样覆盖背景:

 <style name="MyActionBar" parent="android:Widget.Holo.ActionBar">
   <item name="android:background">@drawable/black</item>
   <item name="background">@drawable/black</item>
 </style>

我也在Java代码中设置了背景:

getSupportActionBar().setStackedBackgroundDrawable(this.getResources().getDrawable(R.drawable.black));

因此,蓝线在 4.x 设备上消失了,但在 2.3.x 设备上仍然可见。如何摆脱 2.3.x 设备上的蓝线?

【问题讨论】:

    标签: android android-actionbar actionbarsherlock android-theme


    【解决方案1】:

    愚蠢的错误:我使用了setStackedBackgroundDrawable 而不是setBackgroundDrawable。它适用于setBackgroundDrawable。这是设置操作栏背景的正确方法。 setStackedBackgroundDrawable 设置标签栏的背景。

    【讨论】:

      【解决方案2】:

      似乎蓝线是您那里的 TabWidget 的一部分...但如果不是,您可以查看此网页:http://jgilfelt.github.io/android-actionbarstylegenerator/

      这是一个非常好的操作栏样式生成器。值得一试:)

      【讨论】:

      • 我不认为蓝线是 TabWidget 的一部分,因为如果是这样,我的方法将不适用于 4.x 设备。
      【解决方案3】:

      actionBarDivider 属性属于主题 像这样删除它:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-07
        • 2018-12-30
        • 1970-01-01
        • 2012-10-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多