Home » Android » android – Navigation Drawer Over Status Bar In Nougat?

android – Navigation Drawer Over Status Bar In Nougat?

Posted by: admin June 15, 2020 Leave a comment

Questions:

I try to build navigation drawer in my application ,navigation drawer works fine in previous version of nougat but in nougat navigation drawer not comes over the status bar. i tried lot of solutions but not work in nougat please help !!

this is my activity_main.xml file:

 <android.support.v4.widget.DrawerLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/drawerLayoutId"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <RelativeLayout
        android:fitsSystemWindows="true"    
        android:id="@+id/activity_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"

        tools:context="com.example.pushpam.helloworld.MainActivity">

        <include
            layout="@layout/custom_tool_bar"
            android:id="@+id/customtollbarimportid"/>

        <TextView
            android:textSize="80dp"
            android:textColor="#E9CC0014"
            android:text="I"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/customtollbarimportid"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_marginLeft="65dp"
            android:layout_marginStart="65dp"
            android:layout_marginTop="79dp"
            android:id="@+id/textView" />

        <TextView

            android:textSize="80dp"
            android:textColor="#E9CC0014"
            android:text="Love"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/textView2"
            android:layout_centerVertical="true"
            android:layout_centerHorizontal="true" />

        </RelativeLayout>

    <fragment
        android:fitsSystemWindows="true"
        android:id="@+id/nav_drawer_fragment_id"
        android:layout_width="280dp"
        android:layout_height="match_parent"
        app:layout="@layout/fragment_navigationfragment"
        android:layout_gravity="start"
        android:name="com.example.pushpam.helloworld.navigationfragment"
        tools:layout="@layout/fragment_navigationfragment" />

    </android.support.v4.widget.DrawerLayout>

my styles.xml:

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>

</style>

<style name="CustomToolBarTheme">

    <item name="android:textColorPrimary">@color/toolBarTextColor</item>
    <item name="android:textColorSecondary">@color/toolBarTextColor</item>
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

and Styles(v21).xml

<resources>

    <style name="CustomToolBarTheme">
        <item name="android:textColorPrimary">@color/toolBarTextColor</item>
        <item name="android:textColorSecondary">@color/toolBarTextColor</item>
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="android:windowDrawsSystemBarBackgrounds">true</item>
        <item name="android:statusBarColor">@android:color/transparent</item>
        <item name="android:windowTranslucentStatus">true</item>
    </style>
</resources>

my current navigation drawer

this is my current navigation drawer i want over the status bar.

How to&Answers:

You are having a colored status bar. So navigation drawer is not visible behind it. Make your Status bar transparent and then it will be there.

http://blog.raffaeu.com/archive/2015/04/11/android-and-the-transparent-status-bar/

<!-- Make the status bar traslucent -->
<style name="AppTheme" parent="AppTheme.Base">
    <item name="android:windowTranslucentStatus">true</item> // add this item tag inside your Theme Styles.xml and Styles(v21).xml:
</style>

Answer:

It’s work for me:
https://stackoverflow.com/a/35362693/8331109

You override here

mDrawer.addDrawerListener(new DrawerLayout.DrawerListener() {...});