2017-09-13 202 views
1

我正在尝试使导航抽屉让工具栏透明。它工作正常,直到api < 21,但上面的api 21工具栏不透明。我已经将主题添加到v-21样式文件夹中。添加主题以及图像。 Api < 21 带导航抽屉的透明工具栏

Api > 21

<style name="AppTheme.NoActionBar"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 

    <item name="colorPrimary">@android:color/transparent</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 

    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item> 
</style> 

<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle"> 
    <item name="color">@color/colorPrimary</item> 
</style> 

此外,我已创建工具栏背景选择器,以及在哪些颜色透明

XML

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true" 
tools:context="com.mayank.tracar.activties.MainActivity"> 

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 

    android:theme="@style/AppTheme.AppBarOverlay"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="@drawable/toolbar_background" 
     /> 

</android.support.design.widget.AppBarLayout> 

<include layout="@layout/content_main" /> 


</android.support.design.widget.CoordinatorLayout> 

样式

<style name="AppTheme.NoActionBar"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
    <item name="android:statusBarColor">@android:color/transparent</item> 
    <item name="android:windowDrawsSystemBarBackgrounds">true</item> 
    <item name="colorPrimary">@android:color/transparent</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 

    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item> 
</style> 

<style name="AppTheme.NoActionBar"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 

    <item name="colorPrimary">@android:color/transparent</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 

    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item> 
</style> 

回答

1

最后,我通过在代码中更改这些东西来解决它。希望它能帮助别人。

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true" 
tools:context="com.mayank.tracar.activties.MainActivity"> 



<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="@drawable/toolbar_background" 
    /> 



<include layout="@layout/content_main" /> 

</android.support.design.widget.CoordinatorLayout> 

如果删除AppBarLayout那么你的工具栏而来的包括布局的背后,所以要解决这个问题,我只是叫toolbar.bringtoFront()oncreate而现在一切工作正常。