1

在 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 设备上的蓝线?

4

3 回答 3

1

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

于 2013-05-14T10:21:30.843 回答
0

actionBarDivider attribute belongs to the theme Remove it like this:

<style name="AppTheme" parent="Theme.Sherlock">
    <item name="android:actionBarDivider">@null</item>
 </style>
于 2014-09-22T08:11:13.353 回答
0

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

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

于 2013-05-14T09:29:30.470 回答