Cómo cambiar los colores de la forma en Drawable?

Tengo el siguiente botón:

<Button android:id="@+id/Button_Collect" android:layout_width="48dp" android:layout_height="48dp" android:layout_marginBottom="16dp" android:layout_gravity="center_horizontal" android:background="@drawable/CollectButtonShape" /> 

Que se parece a esto:

Introduzca aquí la descripción de la imagen

Que consiste en el siguiente fondo dibujable:

 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:innerRadius="0dp" android:shape="ring" android:thicknessRatio="2" android:useLevel="false" > <solid android:color="@android:color/transparent" /> <stroke android:width="2dp" android:color="#FF27AE60" /> </shape> </item> <item android:top="10dp" android:left="10dp" android:right="10dp" android:bottom="10dp"> <shape android:shape="oval"> <solid android:color="#FF27AE60" /> </shape> </item> </layer-list> 

¿Cómo cambio programáticamente los colores del anillo y del círculo interno (necesito hacer esto en el evento Touch) ???

Respuesta tardía, pero me di cuenta de que puede acceder a cada capa en una LayerList utilizando FindDrawableByLayerId (). Entonces tengo acceso a cada objeto y establecer el color apropiado!

Es posible tener diferentes imágenes en dibujable. Considere, si desea cambiar el color verde en negro, necesita tener círculo de color negro en drawable y luego intente este código. Esto te ayudara..

En el evento de clic de botón, utilice este código

 public void onClick(View v) { if(v == ButtonName) { ButtonName.setImageResource(R.drawable.ImageName); } } 

Usted podría intentar usar un ColorStateList , él sirve el propósito que usted está después, pienso.

  • Monodroid - el nuevo proyecto de plantilla sin tocar no se puede ejecutar en el emulador de Android
  • Desarrollar una aplicación C # para Windows Mobile, Android y iPhone
  • ¿Cómo detectar los recursos no utilizados en Xamarin.Android?
  • Cambiar el fondo de la actividad del código
  • Enlace Xamarin.Android definiendo Getter / Setter Métodos usando EnumMethods.xml para la interfaz
  • Acceso a imágenes de resolución completa desde la cámara con MonoDroid
  • Error incluso si la aplicación parece no estar instalada
  • Depuración de un dispositivo "remoto" Android con Xamarin?
  • Async / esperar malas prácticas bajo Android?
  • Xamarin Android con multidex - error en modo de depuración
  • ¿Cómo puedo usar el cliente ServiceStack con Xamarin.Android Licencia Indie
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.