El color de la vista de texto de Android no cambia cuando está inhabilitado

Cuando llamo setEnabled(false) para un objeto TextView el color del texto no cambia. Esperaba que se cambiara a gris. Si quito la línea de android:textColor en mi archivo de XML, vuelve a normal.

Algunas ideas ?

Creo que lo que está sucediendo es que ya que está reemplazando el textcolor predeterminado no hereda los otros estilos de textcolor. Intente crear una ColorStateList para ello y establezca el atributo textColor en lugar de un color.

En un archivo de color (por ejemplo, res / color / example.xml):

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="false" android:color="@color/disabled_color" /> <item android:color="@color/normal_color"/> </selector> 

Entonces en su diseño:

 <TextView android:text="whatever text you want" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/example" /> 

Tenga en cuenta, no he hecho esto en un tiempo y estoy escribiendo mucho de esto de memoria, por lo que puede necesitar un poco de ajuste. Los documentos de ColorStateList (vinculados anteriormente) tienen un ejemplo más detallado para el archivo XML de color.

  • Cómo obtener el lienzo pixel
  • Selector de color de Google Calendar
  • Android: cambia el texto del botón y el color de fondo
  • Android: Cambia el color de RadioButtons y las casillas de verificación programáticamente
  • Quiero crear un "modo nocturno" rojo para mi aplicación para Android
  • ¿Cuál es el código de color de Android Hint?
  • Cambiar mapa de bits Color con función
  • Android: Establecer fondo de color aleatorio en crear
  • Android: Animar el cambio de color de color a color
  • Cómo cambiar el color de la pista de un SwitchCompat
  • TextView añadiendo gradiente y sombra
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.