Androide, fondo, lista de capas y elemento de mapa de bits escalable

Tengo el siguiente conjunto dibujable como fondo:

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <bitmap android:src="@drawable/base_bg" android:gravity="bottom" /> </item> <item android:top="10dp" android:left="10dp"> <bitmap android:src="@drawable/decoration1" android:gravity="top|right" android:width="25dp" android:height="25dp" /> </item> <item android:top="10dp" android:left="10dp"> <bitmap android:src="@drawable/decoration2" android:gravity="top|right" android:width="25dp" android:height="25dp" /> </item> </layer-list> 

Muestra todos los mapas de bits ( base_bg , decoration1 y decoration2 ) pero no puedo encontrar una manera de modificar el tamaño de los mismos. Me gustaría tener el fondo principal y encima de él las decoraciones que tendrán diferentes tamaños basados ​​en el dpi. ¿Hay una manera simple de hacer eso, o tengo que tener realmente un manojo de "decoraciones" para dpi diferentes? No es bueno y me gustaría tener la escala / redimensionar la opción en su lugar!

Los atributos android:width y android:height son algo que me gustaría encontrar, pero sé que no funciona. Por el momento estoy utilizando diferentes versiones para diferentes DPI pero esperaba que podría ser un poco más fácil de usar.

No sé cómo son estas imágenes, pero, por ejemplo, podrías hacer una gran imagen y usarla en un ítem android: un campo dibujable, de esta manera la imagen toma el tamaño del ítem.

 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <bitmap android:src="@drawable/base_bg" android:gravity="bottom" /> </item> <item android:top="10dp" android:left="10dp" android:drawable="@drawable/decoration1"> </item> <item android:top="10dp" android:left="10dp" android:drawable="@drawable/decoration2"> </item> </layer-list> 

Otras soluciones podrían ser hacerlo mediante programación con clases LayerDrawable ( aquí ) y Drawable ( aquí ). Podría construir el objeto de capa con 3 objetos dibujables y luego elegir el tamaño correcto en cada objeto Drawable con el método setBounds (Rect).

Espero que esto te ayude.

  • Android, Blur Bitmap al instante?
  • Android arrastrar y soltar / rotar mapa de bits en lienzo
  • Almacenamiento de mapa de bits para múltiples actividades?
  • Establecer imagen en vistas remotas
  • Convertir la textura procesada de OpenGL ES 2.0 en mapa de bits y volver
  • Freehand Image Crop dibujar dentro de la región de mapa de bits
  • Recorte de rectángulo redimensionable de Android
  • Fuga de memoria de ViewPager de Android
  • Creación de un mapa de bits vacío y dibujo a través de lienzo en android
  • Aplicación de Android - ¿Cómo guardar un dibujo de mapa de bits en lienzo como imagen? ¿Código de verificación?
  • Escala de imagen sin perder calidad de imagen no funcionó
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.