J'utilise les bibliothèques de support de Designs NavigationView
comme ceci:
<Android.support.v4.widget.DrawerLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:id="@+id/drawer_layout"
Android:layout_height="match_parent"
Android:layout_width="match_parent"
Android:fitsSystemWindows="true">
<!-- put your main layout here -->
<include layout="@layout/drawer_main_layout"/>
<Android.support.design.widget.NavigationView
Android:id="@+id/nav_view"
Android:layout_height="match_parent"
Android:layout_width="wrap_content"
Android:layout_gravity="start"
Android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header"
app:menu="@menu/drawer_view"/>
</Android.support.v4.widget.DrawerLayout>
Et j'ai mis ce menu:
<menu xmlns:Android="http://schemas.Android.com/apk/res/Android">
<group Android:checkableBehavior="single">
<item
Android:id="@+id/nav_home"
Android:icon="@drawable/ic_dashboard"
Android:title="Home" />
<item
Android:id="@+id/nav_messages"
Android:icon="@drawable/ic_event"
Android:title="Messages" />
<item
Android:id="@+id/nav_friends"
Android:icon="@drawable/ic_headset"
Android:title="Friends" />
<item
Android:id="@+id/nav_discussion"
Android:icon="@drawable/ic_forum"
Android:title="Discussion" />
</group>
<item Android:title="Sub items">
<menu>
<item
Android:icon="@drawable/ic_dashboard"
Android:title="Sub item 1" />
<item
Android:icon="@drawable/ic_forum"
Android:title="Sub item 2" />
</menu>
</item>
</menu>
Existe-t-il un moyen d'utiliser NavigationView avec une disposition plutôt qu'un menu?
Merci d'avance
Voici comment je l'ai résolu et j'ai parfaitement fonctionné:
<Android.support.design.widget.NavigationView
Android:id="@+id/navigation"
Android:layout_width="wrap_content"
Android:layout_height="match_parent"
Android:layout_gravity="start"
Android:fitsSystemWindows="true">
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="vertical">
<include layout="@layout/nav_header" />
<ListView
Android:id="@+id/lst_menu_items"
Android:layout_width="match_parent"
Android:layout_height="0dp"
Android:layout_weight="1" />
</LinearLayout>
</Android.support.design.widget.NavigationView>
Oui, vous pouvez .... Comme je l'ai fait ... Prenez simplement votre présentation personnalisée à l'intérieur du NavigationView
<Android.support.v4.widget.DrawerLayout
Android:id="@+id/drawer"
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:fitsSystemWindows="true">
<Android.support.design.widget.NavigationView
Android:id="@+id/navView"
Android:layout_width="wrap_content"
Android:layout_height="match_parent"
Android:layout_gravity="start">
<ListView
Android:entries="@array/test"
Android:layout_width="match_parent"
Android:layout_height="match_parent"/>
</Android.support.design.widget.NavigationView>
</Android.support.v4.widget.DrawerLayout>
Le code ci-dessus fonctionne pour moi ... Mais n'oubliez pas de supprimer app:menu
de NavigationView
. Sinon, votre vue personnalisée se superposera sur les éléments de menu.