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
- NavigationView onClick de xml provoca errores
- DrawerLayout con NavigationView - no mostrar el efecto de rizo en el clic
- Cómo inflar android NavigationView con otro menú dinámicamente durante onClick?
- NavigationView cómo manejar contenido de encabezado dinámico
- Cómo obtener divisores en el menú de NavigationView sin títulos?
<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?
- NavigationView diapositiva desde la derecha
- Cambiar la separación entre el grupo de encabezados y el primer elemento
- ¿Cómo puedo cambiar el color del icono de la hamburguesa ActionBar?
- ¿Cómo diseñar el NavigationView de la biblioteca de soporte de diseño?
- Uso de NavigationView desde Android Design Support Library
- ¿Cómo crear un divisor simple en el nuevo NavigationView?
- Cambiar Navegación Ver color del elemento Dinámicamente Android
- ¿Cómo cambiar la dirección de los iconos para los elementos del menú en un NavigationView?
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>
- Error en la compilación de Android Gradle: no se pudo encontrar com.google.android:support-v4:r18
- Selección de la vista secundaria en índice mediante Espresso