使用windowActionBarOverlay时,ActionBarSherlock变得透明

时间:2013-02-14 22:57:29

标签: android styles actionbarsherlock transparent

我正在为我正在制作的Android应用程序使用ActionBarSherlock,并且正在我的某个屏幕上显示图像。在这个屏幕上,我希望操作栏消失并在用户按下屏幕时返回,而不会拉伸图像。这部分我有工作,但为此我创建了以下样式并将其应用于该屏幕。 。

<style name="DarkActionBar.ActionBarOverlay" parent="@style/Theme.Sherlock">
    <item name="android:windowActionBarOverlay">true</item>
    <item name="windowActionBarOverlay">true</item>
</style>

问题是,现在我的操作栏是透明的,我无法弄清楚原因。如果我将我的样式的父级更改为Theme.Sherlock.Light.DarkActionBar,它不再是透明的,但看起来与Theme.Sherlock不同,因此它将与我的应用程序的其余部分不一致。

我也尝试了以下内容。 。

<style name="MyActionBar" parent="@style/Theme.Sherlock.Light.DarkActionBar">
    <item name="android:background">@color/black</item>
    <item name="background">@color/black</item>
</style>

<style name="DarkActionBar.ActionBarOverlay" parent="@style/Theme.Sherlock">
    <item name="android:windowActionBarOverlay">true</item>
    <item name="windowActionBarOverlay">true</item>
    <item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

有谁可以告诉我为什么windowActionBarOverlay项目使我的操作栏透明,我可以做些什么来解决它?谢谢。

1 个答案:

答案 0 :(得分:0)

由于透明的ActionBar是一个名为“Actionbar Overlay”的功能,我认为问题出在这一行内:

<item name="windowActionBarOverlay">true</item>

您可能需要将其设置为false

请阅读以下段落:

  

要为操作栏启用叠加模式,您需要创建自定义   扩展现有操作栏主题并设置的主题   android:windowActionBarOverlay属性为true

另请查看Overlaying the Actionbar on Android Developers