2012-05-09 26 views
10

Tengo una imagen con dimensiones de 250 * 70 píxeles en la carpeta drawable (estoy empezando en el desarrollo de Android, así que creé la carpeta drawable en res) y tengo la misma imagen con mayores dimensiones en drawable-large carpeta; pero la imagen no está mirando como esperaba.Android: comprensión de la carpeta dibujable

¿Alguien puede explicar el motivo/propósito de 3 carpetas dibujables?

¿Dónde debo almacenar mi imagen para que se muestre correctamente en ambos modos (paisaje & retrato) y en todos los móviles (incluidas las tabletas)?

Quiero que mi imagen se escale dinámicamente al tamaño de la pantalla del dispositivo.

¿Alguien puede compartir sus puntos de vista o enlaces a la búsqueda?

+0

debería leer [esto ] (http://developer.android.com/guide/practices/screens_support.html#qualifiers) ... – candyleung

Respuesta

14

Por defecto Android mantiene tres carpetas para las imágenes con una resolución diferente razón detrás de esto es el uso o la resolución del dispositivo Android en el que la aplicación va a ejecutar.

carpeta de imágenes hdpi mantener imágenes para el conjunto de pantalla ancha Android o teléfonos Android con la resolución más alta.

LDPI de menor calidad que soporta imágenes de los juegos anteriores de la androide

mdpi de imágenes medio de soporte carpeta imágenes xhdi para dispositivos con la máxima resolución.

Android OS seleccione la imagen en sí misma marcando el dispositivo compatible y su resolución.

Espero que ayude. Acepta si recibes tu explicación.

+0

¿puedo poner todas las imágenes en la misma carpeta, pero les doy las terminaciones apropiadas? como xxx_ldpi.png, xxx_mdpi.png, xxx_hdpi.png, ...... –

1

Debe usar la carpeta drawable-hdpi en lugar de drawable-large.

también Supporting Multiple Screens página puede ser útil para usted

+0

si tiene un teléfono que está cargando xhdpi una imagen de 100 píxeles de ancho a 320 ppp, esa imagen en mdpi (160) es 50px ¿verdad? si mi teléfono es xhdpi y mi tableta es mdpi, ¿cómo puedo hacer que una imagen parezca más grande si la densidad de la pantalla es más baja? ¿Necesito dos image.png? image_phone.png y image_tablet.png? ¿Guardaría esto en dibujable - xlarge - mdpi? Si es así, ¿no significaría que necesitaría casi 32 carpetas para admitir mdpi, hdpi, xhdpi, xxhdpi, pequeño, normal, grande, xlarge (3.2 a continuación), y sw320dp, sw480dp, sw600dp, sw780dp? ¿Dónde estoy equivocado? – cjayem13

21

Los nombres de las carpetas deben ser:

  • /dibujable-LDPI Para pantallas de baja densidad
  • /dibujable-mdpi Para pantallas de densidad media
  • /dibujable-IPAP para pantallas de alta resolución
  • /drawable-xhdpi Para obtener pantallas de alta resolución adicionales

/dibujable debe reservarse para los activos que usted tampoco puede ca re qué dispositivo o para XML activos dibujable

A continuación, en la parte superior de la que puede proporcionar diferentes recursos en función de la configuración mediante el uso de calificadores de configuración, puede leer todos los detalles aquí http://developer.android.com/guide/topics/resources/providing-resources.html

por ejemplo, puede tener alta resolución activos de paisaje con una carpeta

  • /dibujable-tierra-IPAP

Espero que ayude

1

en realidad hay 4 estándares de resolución de pantalla; consulte este enlace para obtener más información http://developer.android.com/guide/practices/screens_support.html, la tabla a continuación. Al instalar la aplicación en el dispositivo, el dispositivo de retorno de una de estas normas y recoger los recursos de la carpeta correspondiente - LDPI, MDPI, IPAP y xhdpi

6

dibujable-LDPI

dibujable-mdpi

dibujable -hdpi

dibujable-xhdpi

dibujable-tvdpi

dibujable-nodpi

dibujable-xxhdpi

dibujable-xxxhdpi

We can also use "drawable-xxhdpi" 
xxhdpi (480dpi, Android 4.1 or later) 

Consulte "Android tabular columna" en el siguiente enlace

http://en.wikipedia.org/wiki/Smartphone

Consulte "Tabla 1" en el siguiente enlace (xxxhdpi)

http://developer.android.com/guide/practices/screens_support.html#xxxhdpi-note

Nota: el calificador drawable-xxxhdpi es necesario solo para proporcionar un ícono de iniciador que puede aparecer más grande de lo normal en un dispositivo xxhdpi. No necesita proporcionar activos xxxhdpi para todas las imágenes de su aplicación.

Nota estará en el siguiente enlace http://developer.android.com/design/style/iconography.html#xxxhdpi-launcher

+0

Actualmente, el objetivo min sdk de todos es 15 o mayor, lo que significa que las carpetas ldpi, mdpi y hdpi ni siquiera se miran. Mi sugerencia es excluir dibujables en estas carpetas. En realidad, a menos que tengas recursos muy pequeños o minúsculos detallados, puedes salirte con la tarea de colocar solo objetos extraíbles en xhdpi y ahorrarte algo de espacio. – portfoliobuilder

+0

Si el usuario desea ahorrar espacio, el usuario puede usar imágenes de "Nueve parches". Porque esto ahorrará mucho espacio – Sakthimuthiah

0

1) La razón detrás de las diferentes carpetas dibujable - para mejorar la experiencia del usuario al utilizar nuestra aplicación, por complaciente densidad de la pantalla de cada dispositivo.

2) "Dónde debo almacenar ...": lo ideal es que almacene una imagen con el tamaño adecuado para cada densidad de pantalla que exista. Si eres un principiante, solo usa una carpeta y no te preocupes por eso ahora.

4) Escalamiento de la imagen He aquí una guía fresco que le ayuda con la escala de la imagen dentro de la aplicación: https://robots.thoughtbot.com/android-imageview-scaletype-a-visual-guide

3) Enlaces: https://material.io/devices/ - lista de todos los dispositivos y densidades

Cuestiones relacionadas