如何在Android的导航抽屉中放置元素

时间:2019-03-06 19:13:25

标签: android xml menu navigation-drawer

我想创建一个导航抽屉,其中图标和文本显示如下:image with icon display in block

我的导航抽屉是:

<android.support.design.widget.NavigationView
    android:id="@+id/navigationView"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="@drawable/drawer_background"
    app:headerLayout="@layout/navigation_drawer_header"
    app:itemIconTint="@color/white"
    app:itemTextColor="@color/white"
    app:menu="@menu/navigation_drawer_items" />

我的菜单是这样的:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <group android:checkableBehavior="single">

        <!-- todo: une page d'accueil avec les plus grosse cote, une preview du bilan (cardview? ...)-->

        <item
            android:id="@+id/navItemHome"
            android:icon="@drawable/ic_home_black_24dp"
            android:title="@string/action_home"/>

        <item
            android:id="@+id/navItemParisTermine"
            android:icon="@drawable/ic_home_black_24dp"
            android:title="@string/actionParisTermine"/>

        <item
            android:id="@+id/navItemAffiliation"
            android:icon="@drawable/ic_home_black_24dp"
            android:title="@string/actionAffiliation"/>

        <item
            android:id="@+id/navItemBilan"
            android:icon="@drawable/ic_home_black_24dp"
            android:title="@string/actionBilan"/>

        <item
            android:id="@+id/navItemContactDeveloppeur"
            android:icon="@drawable/ic_home_black_24dp"
            android:title="@string/actionContactDeveloppeur"/>

    </group>


</menu>

对不起,我的英语,谢谢您的关注!

2 个答案:

答案 0 :(得分:1)

创建自定义布局,而不是使用导航抽屉中的菜单

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

  // CREATE YOUR LAYOUT HERE 

</LinearLayout>

我希望你明白了。 不用担心您的英语,当有人学习一种新语言时,没有人会取笑,这只是意味着他们会另一种语言

答案 1 :(得分:0)

菜单在定制方面非常有限。在这种情况下,您可能根本需要摆脱菜单。 为此,请删除以下行:

  app:menu="@menu/navigation_drawer_items"

您可以依赖导航抽屉标题并使用示例中所示的图标来实现自定义视图。 您的导航视图包含以下行:

app:headerLayout="@layout/navigation_drawer_header"

因此,转到navigation_drawer_header并对其应用自定义布局。