Android – Navegación Ver el color del fondo del menú del elemento

Intento cambiar color de mi artículo Navegación Menú de la visión:

Styles.xml

<item name="android:activatedBackgroundIndicator">@drawable/activated_background</item> 

Activated_background.xml

 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@color/White" /> <item android:state_focused="true" android:drawable="@color/White" /> <item android:state_activated="true" android:drawable="@color/White" /> <item android:drawable="@android:color/transparent" /> </selector> 

Drawer.xml:

 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:id="@+id/group_1"> <item android:id="@+id/drawer_menu_account" android:checked="false" android:title="@string/menu_account" android:icon="@drawable/ic_account_grey600_24dp" /> <item android:id="@+id/drawer_menu_my_post" android:checked="false" android:title="@string/menu_my_post" android:icon="@drawable/ic_pin_grey600_24dp" /> </group> [...] 

El color de fondo no cambia. ¿Qué estoy haciendo mal?

No establece el dibujable para el fondo de un elemento de vista de navegación en su archivo styles.xml. Abra el archivo de diseño XML que contiene su widget Vista de navegación y agregue la siguiente línea a los atributos del widget:

 app:itemBackground="@drawable/activated_background.xml" 

Si tiene problemas con el puntero de la "aplicación", agregue también la siguiente línea:

 xmlns:app="http://schemas.android.com/apk/res-auto" 

Tenga en cuenta que esto sólo cambia el color del fondo de un elemento de lista seleccionado. Si desea que el icono y el color del texto cambien también, utilice el atributo app:itemTextColor .

Debajo de código funciona bien para mí
Mi vista del nav:

 <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true" android:background="@color/nav.background" app:menu="@menu/menu_drawer" app:itemBackground="@drawable/nav_item_background" app:itemTextColor="@drawable/nav_item_text"/> 

Dibujable / nav_item_background.xml

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@color/nav.item.background" /> <item android:state_checked="true" android:drawable="@color/nav.item.background" /> <item android:state_focused="true" android:drawable="@color/nav.item.background" /> <item android:state_activated="true" android:drawable="@color/nav.item.background" /> <item android:drawable="@color/nav.item.background.default" /> </selector> 

Drawable / nav_item_text.xml

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="@android:color/white" android:state_checked="true" /> <item android:color="#bdbdbd" /> </selector> 

Debe utilizar android: background = "color" para el color de la parte posterior del menú de navegación como:

 <android.support.design.widget.NavigationView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:id="@+id/shitstuff" app:itemTextColor="@color/black" app:menu="@menu/drawermenu" android:background="@color/colorAccent" android:layout_marginTop="-24dp" /> 

Y para el color de los artículos use itemTextColor = "color"

@HaloMediaz y @HemantShori Para mantener el fondo del elemento seleccionado en un estado seleccionado,

Use android: state_checked = "true" en lugar de android: state_pressed = "true" en el recurso de estado de color.

Por lo tanto, su recurso de estado de color activado debería tener este aspecto:

Activated_background.xml

 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@color/White" /> <item android:state_focused="true" android:drawable="@color/White" /> <item android:state_activated="true" android:drawable="@color/White" /> <item android:drawable="@android:color/transparent" /> </selector> 
  • Agregue un separador de sección para el Cajón de navegación en Android
  • La suspensión de soporte de Android v23.1.0 se desplaza
  • Cómo agregar vistas personalizadas en el nuevo NavigationView
  • Cómo configurar el recuento de notificaciones no leídas en NavigationView de DrawerLayout?
  • Cómo poner el botón Cerrar sesión de Facebook al final de la vista de navegación
  • Error de lanzamiento de NavigationView: No se encontró ningún identificador de recurso para el atributo 'menu' en el paquete
  • ¿Cómo agregar valor de notificación para el elemento en NavigationView para el cajón de diseño de material?
  • Configuración del relleno de la barra de estado en NavigationView en Android
  • ¿Cómo personalizar el fondo del elemento y el color del texto del elemento dentro de NavigationView?
  • Horarios de reciclaje en DrawerLayout
  • agrega onClickListener al encabezado de vista de navegación usando la biblioteca de soporte de diseño de android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.