2015-08-20 2 views
5

Как я могу программно открыть (показать на экране) NavigationView? Я не могу найти никакой функции, что может быть полезно.Как я могу программно открыть (показать на экране) NavigationView

У меня есть этот XML-файл:

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

    //... 

    <android.support.design.widget.NavigationView 
     android:id="@+id/navigation" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     app:headerLayout="@layout/nav_header" 
     app:itemTextColor="#333" 
     app:itemIconTint="#333" 
     app:menu="@menu/navigation_drawer_items" /> 

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

ответ

10

Вам нужно иметь ссылку на DrawerLayout

drawerLayout.openDrawer(); 
drawerLayout.closeDrawer(); 

использование OpenDrawer и closeDrawer изменить Видимость Menų

+0

да, спасибо) Я использовал drawerLayout.openDrawer (Gravity.LEFT) –

+2

'drawerLayout.openDrawer (Gravity.START)' предпочтительно – deathangel908

+0

@ deathangel908 Почему 'drawerLayout.openDrawer (Gravity.START)' лучше, чем openDrawer? Я думаю, что openDrawer() гораздо читабельнее. – mariopce

0

Чтобы улучшить код:

drawerLayout.openDrawer(Gravity.LEFT); 
drawerLayout.closeDrawer(Gravity.LEFT);