通过使用主题完全透明的ActionBarSherlock

通过使用主题完全透明的ActionBarSherlock

问题描述:

我正在使用ActionBarSherlock 4.0.2。通过使用主题完全透明的ActionBarSherlock

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

<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不起作用。我错过了什么吗?

<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> 
+0

这个答案应该被接受。提供调试菜单是一个不错的选择! – Snicolas 2013-01-31 15:29:45

+0

嗨,这在Android 2.3中创建了一个灰色效果,但不是透明效果,为什么会这样呢?请协助 – 2014-03-27 09:45:17

+0

好的,明白了,它在设备上运行良好,但不在仿真器上运行。我希望那是唯一的原因。 – 2014-03-27 09:49:05