Colores de botones personalizados para discapacitados y habilitados

Tengo una aplicación de Android que tiene un botón que quiero tener texto negro y de fondo, mientras que se deshabilita y luego un fondo verde con la escritura en blanco cuando se habilita.

Ive consiguió habilitar y deshabilitar el trabajo pero si cambio los colores el botón permanece igual sin importar su estado.

He leído que tengo que usar un selector personalizado para establecer los colores manualmente y esto es lo que tengo hasta ahora:

Continuebutton.xml en res / drawable: (el verde se declara en /res/values/colors.xml)

<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="false" android.textColor ="@android:color/black" android:drawable="@android:color/black" /> <item android:state_enabled="true" android.textColor ="@android:color/white" android:drawable="@color/green" /> 

Continuebutton in layout xml file:

  android:id="@+id/continueButton" android:layout_width="200dp" android:layout_height="55dp" android:layout_gravity="center" android:paddingTop="10dp" android:textSize="18dp" android:text="@string/continueButton" android:background="@drawable/continuebutton" /> 

Creo que estoy haciendo algo mal en el archivo continuebutton.xml, pero no estoy seguro de cómo solucionarlo.

Cualquier ayuda sería muy apreciada!

Gracias

ACTUALIZAR:

Tengo el fondo que cambia el color, el último problema es resolución es el color de texto que se está quedando negro sin importar si el botón está inhabilitado o permitido (debe ser blanco para permitido).

¿Necesito hacer un nuevo archivo xml en res / drawable para el color de texto?

¿Algunas ideas?

One Solution collect form web for “Colores de botones personalizados para discapacitados y habilitados”

Eliminar el atributo

 android:src="@drawable/continuebutton" 

y use

 android:background="@drawable/continuebutton" 

En tiempo de ejecución puede cambiar la imagen de fondo por

 myButton.setBackgroundDrawable(getApplicationContext().getResources().getDrawable(R.drawable.myfirstbg)); myButton.setBackgroundDrawable(getApplicationContext().getResources().getDrawable(R.drawable.mysecondbg)); 

Si desea utilizar el color de fondo eliminar las dos propiedades `

 android:src="@drawable/continuebutton" android:background="@drawable/continuebutton" 

Y cambia el color de fondo usando esto

 myButton.setBackgroundColor(Color.BLUE); myButton.setBackgroundColor(Color.GREEN); 
  • Android: ¿Cómo evito que el teclado suave empuje mi vista hacia arriba?
  • ¿Cómo puedo poner un adview admob en la pantalla de configuración de un fondo de pantalla en vivo?
  • Establecer tamaño de encabezado listview de forma programática
  • Problema de orientación de AdMob en Android
  • Mejor opción de diseño de base de datos para aplicaciones de Android con datos enormes
  • Android - Navegación con pestañas en orientación horizontal
  • ¿Puedo hacer que el elemento WebView "flote" encima de mi diseño principal?
  • Diseño de cuadrícula de botones 2x2
  • Agrega una superposición transparente mayor para aumentar el área de clic, sin cambiar el diseño.
  • Separador de dibujo de Android / Divider Line in Layout?
  • Android: Layout.addView () no funciona
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.