NavigationView i układ niestandardowy


Korzystam z bibliotek obsługi projektu
NavigationView
, takich jak:
<android.support.v4.widget.DrawerLayout xmlns:android="[url=http://schemas.android.com/apk/res/android"]http://schemas.android.com/apk/res/android"[/url]
xmlns:app="[url=http://schemas.android.com/apk/res-auto"]http://schemas.android.com/apk/res-auto"[/url]
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>

I ustawiam to menu:
<menu xmlns:android="[url=http://schemas.android.com/apk/res/android">]http://schemas.android.com/apk ... gt%3B[/url] <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>

Czy istnieje sposób na użycie NavigationView z układem, a nie menu?
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Oto jak to rozwiązałem i działało świetnie:
<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>
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Tak, możesz ....
Tak, jak ja zrobiłem ...
Po prostu weź swój niestandardowy układ do środka

NavigationView

<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer"
xmlns:android="[url=http://schemas.android.com/apk/res/android"]http://schemas.android.com/apk/res/android"[/url]
xmlns:app="[url=http://schemas.android.com/apk/res-auto"]http://schemas.android.com/apk/res-auto"[/url]
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>

Powyższy kod u mnie działa ...
Ale nie zapomnij usunąć
app: menu
z
NavigationView
. W przeciwnym razie zachodzi na niestandardowy widok elementów menu.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się