1

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

<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 项目使我的操作栏透明,以及我能做些什么来解决它?谢谢你。

4

1 回答 1

0

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

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

您可能需要将其设置为false.

请阅读以下段落:

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

另请查看在Android 开发人员上叠加操作栏

于 2014-03-24T23:24:10.143 回答