Cambio de mapa de bits Drawable en LayerListDrawable

Aquí está la versión simplificada de mi LayerList. Tiene un mapa de bits en un elemento para evitar el escalado. Quiero cambiar el drawable de este mapa de bits programmatically. ¿Hay alguna forma de hacer esto?

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/item" android:left="165dp" android:top="245dp" > <bitmap android:id="@+id/bitmap" android:src="@drawable/tag_de_01" android:gravity="top|left" /> </item> </layer-list> 

He intentado lo siguiente sin éxito:

 Resources res = getResources(); LayerDrawable layerDrawable = (LayerDrawable) res.getDrawable(R.drawable.layer_list_drawable); Drawable newDrawable = (Drawable)res.getDrawable(R.drawable.something); // works, but scales the image because the drawable of the item is set instead the one of the bitmap layerDrawable.setDrawableByLayerId(R.id.item, newDrawable); // doesn't work at all layerDrawable.setDrawableByLayerId(R.id.bitmap, newDrawable); 

Cast newDrawable to BitmapDrawable (asumiendo que es uno, por supuesto), y puede utilizar BitmapDrawable.setGravity de la misma manera que utiliza el atributo android: gravity en su xml para evitar el escalado

  • Dibujo fuera de pantalla WebView a mapa de bits
  • Icono grande ¿El mapa de bits aparece como un cuadro blanco en la notificación?
  • Android: ¿Cuál es la forma más rápida de cargar varios mapas de bits / pulgares a través de http?
  • Fuga de memoria de Android: InputMethodManager, mapa de bits
  • Cómo convertir el formato de imagen NV21 en mapa de bits?
  • Escala de imagen sin perder calidad de imagen no funcionó
  • mapa de bits de Android a matriz de bytes sin compresión
  • Android Opengl-es carga un poder de 2 no-textura
  • Android deallocate Bitmaps en la memoria "desconocida"
  • Cómo combinar el mapa de bits de superposición y la imagen capturada en android?
  • Android con PorterDuff para combinar imágenes
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.