我是一名有用的助手,可以为您翻译文本。
我有一个导航抽屉在我的安卓应用中。我可以使用NavigationView在导航抽屉中显示菜单,但是我想在抽屉中显示一个ListView或RecyclerView。我需要这样做,因为抽屉菜单对于每个用户都不同。用户选择他们想要阅读的报纸。例如:
用户A的ListView如下:《华盛顿邮报》、《纽约时报》、《卫报》、《独立报》。
用户B的ListView:《每日邮报》、《华盛顿邮报》、《金融时报》。
我该如何在NavigationView上添加ListView?
activity_main.xml:
我有一个导航抽屉在我的安卓应用中。我可以使用NavigationView在导航抽屉中显示菜单,但是我想在抽屉中显示一个ListView或RecyclerView。我需要这样做,因为抽屉菜单对于每个用户都不同。用户选择他们想要阅读的报纸。例如:
用户A的ListView如下:《华盛顿邮报》、《纽约时报》、《卫报》、《独立报》。
用户B的ListView:《每日邮报》、《华盛顿邮报》、《金融时报》。
我该如何在NavigationView上添加ListView?
activity_main.xml:
<android.support.v4.widget.DrawerLayout >
...
<android.support.design.widget.CoordinatorLayout>
...
<android.support.design.widget.AppBarLayout>
...
<android.support.v7.widget.Toolbar/>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>
<android.support.design.widget.NavigationView
android:id="@+id/navigation_drawer"
android:layout_width="200dp"
android:layout_height="match_parent"
android:layout_gravity="start"
app:menu="@menu/menu_drawer"
app:layout="@layout/custom_row"/>
menu_drawer.xml:
<group
android:id="@+id/group_1"
android:checkableBehavior="single">
<item
android:id="@+id/nav_first_fragment"
android:icon="@drawable/ic_number_0"
android:title="First" />
<item
android:id="@+id/nav_second_fragment"
android:icon="@drawable/ic_number_1"
android:title="Second" />
<item
android:id="@+id/nav_third_fragment"
android:icon="@drawable/ic_number_2"
android:title="Third" />
</group>
<group
android:id="@+id/group_2"
android:checkableBehavior="single">
<item
android:id="@+id/navigation_item_11"
android:icon="@drawable/ic_number_0"
android:title="My Newspapers">
<menu>
<item
android:id="@+id/navigation_item_1"
android:icon="@drawable/ic_number_0"
android:title="@string/navigation_item_1" />
<item
android:id="@+id/navigation_item_2"
android:icon="@drawable/ic_number_1"
android:title="@string/navigation_item_2" />
<item
android:id="@+id/navigation_item_3"
android:icon="@drawable/ic_number_2"
android:title="@string/navigation_item_3" />
<item
android:id="@+id/navigation_item_4"
android:icon="@drawable/ic_number_3"
android:title="@string/navigation_item_4" />
<item
android:id="@+id/navigation_item_5"
android:icon="@drawable/ic_number_4"
android:title="@string/navigation_item_5" />
</menu>
</item>
</group>
custom_row.xml:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text_superhero"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="4dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="4dp"
android:text="Superhero"
android:textColor="@color/colorTextSecondary">
NavigationView
,并且 RecyclerView 的所有属性与之前相同(例如android:layout_width
)。 - Bryan Herbst