首页 > 解决方案 > 有没有办法在导航抽屉单个菜单项的最右侧显示文本 - Android

问题描述

在此处输入图像描述

问候!

我正在尝试在我的 Material 导航抽屉中实现以下设计。

我已经尝试了所有可以在网上找到的解决方案,但没有运气。如果有人可以指导我,这将非常有帮助。 谢谢

这是我的 Menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <group
        android:id="@+id/group_item_1"
        android:checkableBehavior="single">
        <item
            android:id="@+id/nav_home"
            android:icon="@drawable/menu_home"
            android:title="@string/home" />

        <item
            android:id="@+id/nav_profile"
            android:icon="@drawable/menu_profile"
            android:title="@string/profile" />


        <item
            android:id="@+id/nav_favourites"
            android:icon="@drawable/menu_favourite"
            android:title="@string/favourites" /> 

    </group>
</menu>

标签: androidandroid-layoutnavigation-drawer

解决方案


步骤 - 1: 为您的自定义视图创建布局consumer_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:gravity="center_vertical" />

步骤 - 2:添加layout到您的菜单项

<item
    android:id="@+id/nav_profile"
    app:actionLayout="@layout/consumer_layout"
    android:icon="@drawable/menu_profile"
    android:title="@string/profile" />

步骤 - 3:找到菜单项并设置文本:

TextView view = (TextView) navigationView.getMenu().findItem(R.id.nav_profile).getActionView();
view.setText("Consumer");

如果您不想使用自定义,请TextView跳过步骤 - 1并修改步骤 - 2,如下所示:

<item
    android:id="@+id/nav_profile"
    app:actionViewClass="android.widget.TextView" 
    android:icon="@drawable/menu_profile"
    android:title="@string/profile" />

推荐阅读