Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo puedo cambiar colores en mi StateListDrawable?

Tengo el siguiente selector para un botón (con 2 estados, regulares y presionados):

<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" > <shape> <solid android:color="#3498DB" /> <stroke android:width="1dp" android:color="#2980B9" /> <corners android:radius="0dp" /> <padding android:left="12dp" android:top="12dp" android:right="12dp" android:bottom="12dp" /> </shape> </item> <item> <shape> <solid android:color="#2980B9" /> <stroke android:width="1dp" android:color="#2980B9" /> <corners android:radius="0dp" /> <padding android:left="12dp" android:top="12dp" android:right="12dp" android:bottom="12dp" /> </shape> </item> </selector> 

Mi botón tiene lo siguiente que especifica el fondo como el selector anterior:

 <Button android:id="@+id/button_LaunchShiftsGame" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/ShiftsMode" android:background="@drawable/selector_Button" style="@style/Button_Text" /> 

Necesito tener acceso y cambiar los colores para ambos estados del código cuando la actividad carga.

¿Cómo puedo hacer esto?

  • Cuál es la diferencia entre Java.Net.Uri y Android.Net.Uri
  • Xamarin Android con multidex - error en modo de depuración
  • ¿Cómo agregar una línea horizontal 1px encima de la vista de la imagen en un diseño relativo?
  • ¿Cómo cambiar dinámicamente el color de la forma?
  • Cómo eliminar la flecha HomeAsUpButton de ActionBar Sherlock?
  • Programe la notificación usando el administrador de alarmas en formularios xamarin para android
  • Cómo determinar el tipo MIME de archivo en android?
  • Error al crear el proyecto Xamarin.Android con Google Play Services
  • One Solution collect form web for “¿Cómo puedo cambiar colores en mi StateListDrawable?”

      StateListDrawable gradientDrawable = (StateListDrawable) inflatedView.getBackground(); DrawableContainerState drawableContainerState = (DrawableContainerState) gradientDrawable.getConstantState(); Drawable[] children = drawableContainerState.getChildren(); LayerDrawable selectedItem = (LayerDrawable) children[0]; LayerDrawable unselectedItem = (LayerDrawable) children[1]; GradientDrawable selectedDrawable = (GradientDrawable) selectedItem.getDrawable(0); GradientDrawable unselectedDrawable = (GradientDrawable) unselectedItem.getDrawable(0); selectedDrawable.setStroke(STORKE_SIZE, NOTIFICATION_COLOR); unselectedDrawable.setStroke(STORKE_SIZE, NOTIFICATION_COLOR); 

    He usado esto para cambiar el golpe, puede ser útil.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.