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

<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?

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)

  • Carrera que no se superpone a la forma
  • Android - botón personalizado con forma drawables y un degradado por programación
  • Adición de forma a LinearLayout Android
  • ¿Cómo puedo configurar el fondo de mi forma en xml?
  • SoundCloud como waveform-seekbar?
  • ¿cómo puedo dibujar una línea dentro de rectángulo forma android
  • Cómo establecer la línea como un fondo utilizando xml (forma) a continuación para EditText?
  • Android dibujable con fondo y degradado a la izquierda
  • Android diferentes fondos de EditText para diferentes estados usando formas, selector o lista
  • Dibujo del borde superior de una forma en Android
  • ¿Comportamiento diferente para FillType.EVEN_ODD al agregar un CornerPathEffect?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.