2017-06-20 60 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); 
      } 
     });