Настраивать рисунок меню NavigationView

Я нуждаюсь в том, чтобы смочь настраивать меню одного NavigationView, например тот, которого он приносит по умолчанию Android Studio 1.4

<group android:checkableBehavior="single">
    <item android:id="@+id/nav_cuenta" android:actionLayout="@layout/boton_face" android:icon="@android:drawable/ic_menu_myplaces"
        android:title="Mis Datos" />
    <item android:id="@+id/nav_logout" android:icon="@android:drawable/ic_menu_set_as"
        android:title="Salir" />
</group>

Он состоял бы в том, чтобы добиваться, чтобы каждая статья смогла помещать другой значок например в правую сторону, или мочь помещать ему фон.

4
задан 02.03.2017, 07:57
2 ответа

Хочешь настроить ты Navigation Drawer добавляя значок и фон:

ты Можешь создавать вид ImageView, который содержал бы значок и цвет, например icono_derecha.xml:

<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:background="@android:color/holo_red_light"
    android:gravity="center_vertical"
    android:src="@drawable/ic_menu_send"
    android:contentDescription="@null" />

ты можешь загружать Этот вид с элементов, что соразмеряешь ты Navigation Drawer, посредством свойства app:actionLayout, которое определяет имя вида, которое нужно загружать:

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

    <group android:checkableBehavior="single">
        <item
            android:id="@+id/nav_camera"
            android:icon="@drawable/ic_menu_camera"
            android:title="Importar"
            app:actionLayout="@layout/icono_derecha"/>
        <item
            android:id="@+id/nav_gallery"
            android:icon="@drawable/ic_menu_gallery"
            android:title="Galería"
            app:actionLayout="@layout/icono_derecha"/>
        <item
            android:id="@+id/nav_slideshow"
            android:icon="@drawable/ic_menu_slideshow"
            android:title="Slideshow"
            app:actionLayout="@layout/icono_derecha"/>
        <item
            android:id="@+id/nav_manage"
            android:icon="@drawable/ic_menu_manage"
            android:title="Herramientas"
            app:actionLayout="@layout/icono_derecha"/>
    </group>    

</menu>

, чтобы получать:

introducir la descripción de la imagen aquí

, Чтобы менять цвет background, ты можешь использовать свойство app:itemBackground, где мы можем определять цвет или drawable:

<item
    android:id="@+id/nav_gallery"
    android:icon="@drawable/ic_menu_gallery"
    android:title="Galería"
    app:itemBackground="@color/color_red"/>
1
ответ дан 24.11.2019, 14:13

Чтобы добавлять значок к правой стороне, чтобы сообщать что-то и т.д....

Добавлять app:actionLayout в статьях меню

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
...
        <item
            android:id="@+id/nav_gallery"
            android:icon="@drawable/ic_menu_gallery"
            android:title="Gallery"
            app:actionLayout="@layout/menu_right_image" />
...

создавать layout, где он будет содержать изображение правой стороны menu_right_image.xml

<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:gravity="center_vertical"
    android:src="@drawable/ic_menu_send"
    android:contentDescription="@string/app_name" />

Personalización в полного, для бокового меню: http://www.tutecentral.com/android-custom-navigation-drawer/ или этот руководитель http://www.tutecentral.com/android-custom-navigation-drawer/

1
ответ дан 24.11.2019, 14:13

Теги

Похожие вопросы