我正在为我正在制作的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