ActionBarSherlock在使用windowActionBarOverlay时变得透明



我正在为我正在制作的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.SSherlock不同,因此它将与我的应用程序的其他部分不一致。

我还尝试了以下。

<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项目使我的操作栏透明,以及我能做些什么来修复它吗?非常感谢。

由于透明ActionBar是一个名为"ActionBar Overlay"的功能,我认为问题就在这一行:

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

您可能需要将其设置为false

请阅读以下段落:

要为操作栏启用覆盖模式,您需要创建一个自定义扩展现有动作栏主题并设置android:windowActionBarOverlay属性为真正的

此外,请查看Android Developers 上的Overlaying the Actionbar

相关内容

  • 没有找到相关文章

最新更新