¿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:
- Instalación de Xamarin Mono para Android
- Android - Bitmap.CreateBitmap - excepción de puntero nulo
- Cómo implementar CountDownTimer Clase en Xamarin C # Android?
- Async / esperar malas prácticas bajo Android?
- Uso del depurador de Microsoft con Xamarin Android
<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?
- No encontró la clase "mono.android.app.Application"
- System.ObjectModel Advertencia Xamarin no se ejecuta en Android
- Xamarin Android TabLayout llamando a SetupWithViewPager lanza excepción
- ¿Cuál es la forma correcta de implementar Fragments en MvvmCross 3.5.1
- Cómo solucionar "OutOfMemoryError: java heap space" al compilar la aplicación MonoDroid en MonoDevelop
- ¿Es posible especificar dinámicamente el nombre del paquete durante la compilación?
- Error al utilizar la Biblioteca de asistencia de Android v4
- No se pudo iniciar la aplicación.
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.
- ¿Cómo distorsionar una imagen a cualquier cuadrángulo?
- Cómo guardar los archivos descargados en la memoria caché de android