ActionBar叠加

时间:2014-11-12 12:42:14

标签: android-actionbar overlay transparent

当我将此行添加到ActionBarStyle:

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

在我的布局中我添加了这个:

  android:paddingTop="?android:attr/actionBarSize"

ActionBar不会透明。 图片:enter image description here

2 个答案:

答案 0 :(得分:2)

像这样定义新的操作栏背景:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- the theme applied to the application or activity -->
    <style name="CustomActionBarTheme"
           parent="@android:style/Theme.Holo.Light.DarkActionBar">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
    </style>

    <!-- ActionBar styles -->
    <style name="MyActionBar"
           parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
        <item name="android:background">@drawable/actionbar_background</item>
    </style>
</resources>

哪里

<item name="android:background">@drawable/actionbar_background</item>

将设置您的操作栏背景,可绘制,颜色或您想要的任何其他内容。

然后将此主题应用于任何活动或整个应用程序:

<application android:theme="@style/CustomActionBarTheme" ... />

编辑: 这是你在找什么? transparent actionbar

答案 1 :(得分:1)

为此,您需要使用Android SDK中的 AppCompat 库。我使用了appcompat_v7。

对于 Android 2.1及更高版本,我通过在 res / values styles.xml 文件中添加以下行解决了该问题文件夹:

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

例如:

<resources>

<!--
    Base application theme, dependent on API level. This theme is replaced
    by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="Theme.AppCompat.Light">
    <!--
        Theme customizations available in newer API levels can go in
        res/values-vXX/styles.xml, while customizations related to
        backward-compatibility can go here.
    -->
    <item name="android:windowActionBarOverlay">true</item>
</style>

<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
    <!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>

至于仅限Android 3.0及更高版本,我在 res / values-v11 styles.xml 文件中添加了以下行>文件夹以及 res / values-v14 文件夹中的其他 styles.xml 文件:

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

例如:

<resources>

<!--
    Base application theme for API 11+. This theme completely replaces
    AppBaseTheme from res/values/styles.xml on API 11+ devices.
-->
<style name="AppBaseTheme" parent="Theme.AppCompat.Light">
    <!-- API 11 theme customizations can go here. -->
    <item name="android:windowActionBarOverlay">true</item>
</style>

我希望这会有所帮助。