如何使用android NavigationView中的菜单项创建像视图一样的网格

时间:2017-06-22 10:27:44

标签: android android-layout

我有一个带导航抽屉的Android应用程序。它有像Gmail应用程序这样的菜单列表如下

<?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"
tools:openDrawer="left">

<include
    layout="@layout/app_bar_dashboard"
    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"
    app:headerLayout="@layout/nav_header_dashboard"
    app:menu="@menu/activity_dashboard_drawer" />

enter image description here

我希望该菜单列表是一个像网格一样的视图。我怎么能实现这个目标?

1 个答案:

答案 0 :(得分:1)

您可以使用自定义布局代替NavigationView。使用网格设计创建一个布局文件,并将其包含在此文件中而不是NavigationView

 <LinearLayout
        android:id="@+id/left_drawer"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="@android:color/white"
        android:orientation="vertical">

        <include layout="@layout/layout_grid_left" />
    </LinearLayout>

并使用左侧视图创建layout_grid_left