アプリケーションでナビゲーションドロワーを構築しようとしています。以前のバージョンのヌガーではナビゲーションドロワーは正常に機能しますが、ヌガーではナビゲーションドロワーがステータスバーに表示されません。私はたくさんの解決策を試しましたが、ヌガーでは動作しません。助けてください!
これは私の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>
これは、ステータスバーの上に表示したい現在のナビゲーションドロワーです。
色付きのステータスバーがあります。そのため、ナビゲーションドロワーは背後に表示されません。ステータスバーを透明にすると、そこに表示されます。
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>
それは私のために働いています: https://stackoverflow.com/a/35362693/8331109
ここでオーバーライドします
mDrawer.addDrawerListener(new DrawerLayout.DrawerListener() {...});