android - 有没有办法在导航抽屉单个菜单项的最右侧显示文本 - 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>
解决方案
步骤 - 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" />
推荐阅读
- php - 如何使用 Laravel 修复 SQL 语法错误?
- json - 无法使用 Jackson Scala 模块反序列化具有类型参数的抽象类
- cplex - 使用Cplex时如何将两个数组中的每个对应元素相乘
- javascript - 如何更改 if/else 语句以在 javascript 中循环
- android - 什么是网络视图以及如何使用它们
- sql - 获取顶级父母 ID 继承给 SQL 中的所有孩子
- python - 离线安装 w python 实用程序的 python 包
- node.js - Mongoose returns empty array while mongodb terminal returns the required results
- scala - 从某个分区开始读取的 spark 结构化流文件源
- ios - Swift - 基于阿拉伯语组合字符拆分文本