studio - poner imagenes en android
¿En qué carpeta poner imágenes de 9png? (3)
Utilizamos 9png principalmente para reducir el tamaño de la apk. Pero, me enfrento a un problema peculiar. No estoy seguro de en qué carpeta tengo que colocar los 9pngs. Los había puesto en la carpeta HDPI. Como Android es ''inteligente'', parece que si uso la aplicación en un teléfono MDPI, ''escala'' el 9png, lo que crea efectos locos. No enfrenté ningún problema importante hasta que lo probé en Galaxy Note. Parece que el 9png fue tomado de HDPI y escalado (Note tiene 800x1280) y creó efectos extraños.
- Entonces, ¿cuál es el lugar correcto para poner los 9pngs?
- ¿Cómo decirle al sistema Android que no "incremente" 9pngs en función de la carpeta en la que está colocado?
Según la answer Romain Guy en los grupos de Google:
El comportamiento del parche 9 no está definido cuando se contrae. En la práctica, verá superposiciones de las distintas secciones del 9patch. No lo hagas :)
Por lo que noté en mis proyectos, un 9PNG se reduce al igual que cualquier PNG normal, por lo que generalmente le solicito a nuestro diseñador el conjunto completo de imágenes para ldpi, mdpi, hdpi
y xhdpi
, y las transformo en 9patches.
Eso, a menos que haya un 9patch muy simple, como un fondo de botón plano, que no hace ninguna diferencia cuando se estira o se contrae, por lo general lo drawable
carpeta de drawable
normal.
Simplemente ponga el 9png en su carpeta HDPI.
Si el efecto se ve raro en tu Galaxy Note.
Pídale al diseñador que le dé un nuevo archivo de 9png para el XHDPI. y luego poner el nuevo archivo en la carpeta XHDPI.
Tuve un problema similar con una imagen de nueve parches: si la coloqué en la carpeta res/drawable
, no funcionó en una pantalla ldpi
(distorsionó la imagen y perdió la transparencia).
La solución para mí fue ponerlo en la carpeta res/drawable-nodpi
. La documentación establece:
Esto se puede usar para los recursos de mapa de bits que no desea escalar para que coincidan con la densidad del dispositivo.