Есть ли способ отобразить текст справа от пункта меню «Навигационный ящик» - Android - PullRequest
1 голос
/ 23 января 2020

enter image description here

Приветствую!

Я пытаюсь добиться следующего дизайна в моем Ящике навигации по материалам.

Я испробовал все решения, которые могу найти в Интернете, но не повезло. Будет очень полезно, если кто-то сможет мне помочь. Спасибо

Вот мое меню. 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 Ответ

2 голосов
/ 23 января 2020

Шаг - 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" />
...