透明动作栏

时间:2016-05-19 23:40:00

标签: android android-actionbar android-toolbar android-styles

我必须开发透明的动作栏。 经过一些研究,我只能在LG2设备上达到预期的效果。 当我在LG3上运行代码时,它无法正常工作(操作栏不能transperent)。

我的样式文件夹的外观如下:

<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light">
      <item name="android:itemBackground">@color/black</item>
        <item name="android:textColor">@color/white</item>
    </style>

    <style name="AppTheme.ActionBar.Transparent" parent="AppTheme">
        <item name="android:windowContentOverlay">@null</item>
        <item name="windowActionBarOverlay">true</item>
        <item name="colorPrimary">@android:color/transparent</item>
    </style>

  </resources>

有人建议如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

您只需要定义没有actionbar的样式。使用工具栏并将其颜色设置为透明。

<!-- Your App Theme -->

    <style name="MyMaterialTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
            <item name="windowNoTitle">true</item>
            <item name="windowActionBar">false</item>
            <item name="colorPrimary">@color/colorPrimary</item>
            <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
            <item name="colorAccent">@color/colorAccent</item>
        </style>

<!-- Your custom ActionBar Style -->

<style name="CustomActionBar" parent="@style/MyMaterialTheme.Base">
    <item name="android:windowActionBarOverlay">true</item>
    <!-- Support library compatibility -->
    <item name="windowActionBarOverlay">true</item>
</style>

你的`

  

toolbar.xml

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:theme="@style/CustomActionBar"/>

在任何版面中使用此toolbar

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- Toolbar should be above content-->
    <include layout="@layout/toolbar" />

</RelativeLayout>

`