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?

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); 
  • Margen / relleno en porcentaje en XML
  • ¿Es concatenación de cadenas de recursos / concatenación de cadenas, posible en el archivo de diseño?
  • Cómo tener acceso a un elemento TextView en un BroadcastReceiver
  • Combinar archivos de diseño para varios números de versión
  • ¿Cómo puedo obtener un Android TableLayout para llenar la pantalla?
  • Relaciones entre dip, px y dpi
  • Android: cómo agregar una forma de triángulo en la esquina derecha del botón superior
  • Programar el atributo AlignParentRight al botón en RelativeLayout no funciona?
  • Cómo configurar la altura máxima de un Layout en android?
  • NestedScrollView no se desplazará hasta el final cuando se utiliza con CollapsingToolbarLayout
  • Este diseño TableLayout o su padre LinearLayout es inútil cómo resolver de esta advertencia
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.