web-dev-qa-db-ja.com

ヌガーのステータスバー上のナビゲーションドロワー?

アプリケーションでナビゲーションドロワーを構築しようとしています。以前のバージョンのヌガーではナビゲーションドロワーは正常に機能しますが、ヌガーではナビゲーションドロワーがステータスバーに表示されません。私はたくさんの解決策を試しましたが、ヌガーでは動作しません。助けてください!

これは私のactivity_main.xmlファイルです:

 <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>

私の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>

および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

これは、ステータスバーの上に表示したい現在のナビゲーションドロワーです。

8
xyz rety

色付きのステータスバーがあります。そのため、ナビゲーションドロワーは背後に表示されません。ステータスバーを透明にすると、そこに表示されます。

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>
16
Charuක

それは私のために働いています: https://stackoverflow.com/a/35362693/8331109

ここでオーバーライドします

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