2017-06-20 85 views
-1

我想要实现导航的抽屉里,它的工作很好,当我刷卡,但是当点击ImageView的我的代码看起来像下面 MainActivity导航抽屉未打开时,点击ImageView的

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> 

在home_details我已经花了

<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

您使用错误的方法:点击这里:https://stackoverflow.com/a/17822591 –

+0

@Komal试试这个mDrawerLayout.openDrawer(GravityCompat.START); – RameshJaga

+0

您正在使用错误的方式来做到这一点。你必须使用OpenDrawer [link](https://stackoverflow.com/a/28241295/7911728) – UltimateDevil

回答

0

mDrawerLayout.isDrawerOpen(GravityCompat.START)实际上告诉你抽屉的状态并且不改变抽屉的状态。

要更改抽屉的状态,请用mDrawerLayout.openDrawer(GravityCompat.START)替换该行。

0

试试这个...

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); 
      } 
     });