Cambio de color en una forma dentro de una lista de capas mediante programación
Estoy intentando cambiar programmatically el color del selectable_kachel_shape . Aquí está el archivo xml:
Kachel_ticked_style.xml
- Gradiente Oval en Android
- Android: Generación de onda sinusoidal
- Definición del estilo de origen XML de Gradient / Shape / Corners
- Botones personalizados de Android
- Android cómo crear forma de triángulo y rectángulo de forma programática?
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape android:id="@+id/selectable_kachel_shape" android:shape="rectangle" > <stroke android:width="5dp" android:color="@color/headrbar_color" /> </shape> </item> <item> <rotate android:fromDegrees="45" android:pivotX="120%" android:pivotY="100%" android:toDegrees="45" > <shape android:shape="line" > <stroke android:width="40dp" android:color="@color/headrbar_color" /> </shape> </rotate> </item> <item android:right="5dp" android:top="5dp"> <bitmap android:gravity="top|right" android:src="@drawable/selectable_tiles_check" /> </item> </layer-list>
Estoy llamando dentro de un Fragmento el siguiente código
LayerDrawable layers = (LayerDrawable) this.getActivity().getResources().getDrawable(R.drawable.kachel_ticked_style); GradientDrawable shape = (GradientDrawable) (layers.findDrawableByLayerId(R.id.selectable_kachel_shape)); shape.setColor(this.getActivity().getResources().getColor(android.R.color.background_dark);
1. ¿Por qué estoy obteniendo una NullPointerException en shape.setColor ?
2.¿Cómo sería posible cambiar el color dentro de una forma, que está dentro de una lista de capas, de forma programática?
- Android forma xml dibujable - cómo dibujar un formulario u?
- ¿Cómo crear el fondo de la forma del paralelogramo?
- Círculo en Google Maps para Android v2 está parpadeando cuando cambia el tamaño por seekbar
- La forma rectangular dibujable no se mostrará como elemento selector de casilla de verificación
- Android cómo hacer intrincados fondos y fronteras
- Rellene la forma con texto con dos colores diferentes
- Fondo de la forma de Android
- ¿Cómo crear la forma con sólido, esquina, trazo en código Java?
Ok encontré la respuesta, sólo tuve que poner el id de la forma dentro del elemento no en la forma kachel_ticked_style.xml :
<item android:id="@+id/selectable_kachel_shape"> <shape android:shape="rectangle" > <stroke android:width="5dp" android:color="@color/headrbar_color" /> </shape> </item>
Y entonces usted puede cambiar el color de la forma llamando shape.setColor o el color del trazo llamando shape.setStroke (strokeWidth, strokeColor)
- Biblioteca de Picasso, Android: Uso de escuchas de errores
- Android: ¿puedo usar una clase SQLiteOpenHelper para varios archivos de base de datos?