11

我正在使用ActionBarSherlock 4.0.2。

我需要一个完全透明的操作栏(没有霓虹色底部分隔线)。因此,我有以下风格:

<style name="AppTheme" parent="@style/Theme.Sherlock">
    <item name="windowActionBarOverlay">true</item>
    <item name="icon">@drawable/ic_home</item>
    <item name="titleTextStyle">@style/ActionBarCompatTitle</item>
    <item name="android:windowFullscreen">true</item>
</style>

通过使用上面的代码,我仍然会有以下效果。

SherlockFragmentActivity 带有分隔符和半透明背景

为了禁用后台,我将以下代码放入SherlockFragmentActivity#onCreate. 然后问题就解决了。

getSupportActionBar().setBackgroundDrawable(null);

SherlockFragmentActivity 没有分隔线和透明背景

但是,我希望看到在styles.xml而不是 Java 代码中实现的解决方案,因为我有许多其他具有不同屏幕配置的设备。我将styles.xml修改为以下内容,而没有在Java 代码中使用前面提到的修复程序。

<style name="AppTheme" parent="@style/Theme.Sherlock">
    <item name="windowActionBarOverlay">true</item>
    <item name="icon">@drawable/ic_home</item>
    <item name="titleTextStyle">@style/ActionBarCompatTitle</item>
    <item name="android:windowFullscreen">true</item>

    <item name="android:background">@drawable/transparent</item>
    <item name="background">@drawable/transparent</item>
</style>

然而,霓虹分隔线仍然可见。看来我的修复使用android:background并且background不起作用。我错过了什么吗?

4

1 回答 1

24
<style name="AppTheme" parent="@style/Theme.Sherlock">
    <item name="actionBarStyle">@style/AppTheme.ActionBar</item>
    <item name="android:actionBarStyle">@style/AppTheme.ActionBar</item>
</style>

<style name="AppTheme.ActionBar" parent="@style/Widget.Sherlock.ActionBar">
    <item name="background">@android:color/transparent</item>
    <item name="android:background">@android:color/transparent</item>
</style>
于 2012-09-26T07:10:29.387 回答