2017-06-20 8 views
-1

I Navigationsleiste implementieren möchten, es funktioniert gut, wenn ich Swipe aber es wird nicht geöffnet, wenn Klick auf meinen Code Image unten aussehen MainActivity istNavigation Schublade nicht geöffnet ist, wenn klicken Sie auf Image

mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); 
imgMenu = (ImageView) findViewById(R.id.imgMenu); 

     imgMenu.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       mDrawerLayout.isDrawerOpen(GravityCompat.START); 
      } 
     }); 

nav_drawer_material. xml

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout 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:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:openDrawer="start"> 

    <include 
     layout="@layout/app_bar_main" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

    <android.support.design.widget.NavigationView 
     android:id="@+id/nav_view" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:fitsSystemWindows="true" 
     app:headerLayout="@layout/nav_header_main" 
     app:menu="@menu/activity_main_drawer" /> 

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

app_bar_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true"> 

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

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

In home_details i

<ImageView 
       android:id="@+id/imgMenu" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:padding="@dimen/padding_10" 
       android:src="@drawable/ic_menu" /> 
+0

Sie falsche Methode verwenden: hier überprüfen: https://stackoverflow.com/a/17822591 –

+0

@Komal versuchen, diese mDrawerLayout.openDrawer (GravityCompat.START); – RameshJaga

+0

Sie verwenden einen falschen Weg, es zu tun. Sie müssenOpenDrawer verwenden [link] (https://stackoverflow.com/a/28241295/7911728) – UltimateDevil

Antwort

1

isDrawerOpen nur überprüft, ob die Schublade geöffnet ist oder nicht teilgenommen haben,. Verwenden Sie stattdessen die Methode openDrawer.

0

mDrawerLayout.isDrawerOpen(GravityCompat.START) zeigt Ihnen den Zustand Ihrer Schublade an und ändert nicht den Zustand der Schublade.

Um den Zustand der Schublade zu ändern, ersetzen Sie diese Zeile durch mDrawerLayout.openDrawer(GravityCompat.START).

0

try this one ...

mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); 
imgMenu = (ImageView) findViewById(R.id.imgMenu); 

     imgMenu.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       mDrawerLayout.openDrawer(GravityCompat.START); 
      } 
     }); 
Verwandte Themen