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); 
  • Falta el puerto reenviado en el Visor de jerarquía: Uso de Android Studio
  • Efecto del carrusel de Android con diseños
  • ¿Creación de un diseño de chat?
  • Cómo crear una actividad sin 'setContentView (R.layout.main)'
  • ¿Cuál es el mejor diseño en android que podemos usar para diseñar la interfaz de usuario?
  • ¿Cómo alinear el texto a la parte superior de TextView?
  • Botón necesita llenar el botón de radio padre
  • Cómo centrar un Imageview en la pantalla con un FrameLayout? (Con código java)
  • Establecer márgenes en un LinearLayout programáticamente
  • Desplazamiento del menú (biblioteca) siempre a pantalla completa
  • Disposición de Android - problema de alineación con ImageView
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.