使用主题完全透明的ActionBarSherlock

时间:2012-04-17 06:57:13

标签: android dialog transparent actionbarsherlock

我正在使用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 wit divider and with half-transparent background

为了禁用后台,我将以下代码放在SherlockFragmentActivity#onCreate中。然后问题就消失了。

getSupportActionBar().setBackgroundDrawable(null);

SherlockFragmentActivity without divider and with transparent background

但是,我希望看到解决方案在 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:backgroundbackground的修复无法正常工作。我错过了什么吗?

1 个答案:

答案 0 :(得分: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>