2010-07-16 18 views
79

Estaba trabajando en Android 1.5, pero ahora me he movido a la última versión. De modo que solo hay una carpeta "dibujable" en Android 1.5, pero ahora hay tres carpetas diferentes para almacenar imágenes en el proyecto de Android.Drawable-hdpi, Drawable-mdpi, Drawable-ldpi Android

Y he encontrado algunos artículos para estas tres carpetas que dice

  1. IPAP significa de alta dpi
  2. mdpi significa mediano dpi significa
  3. LDPI bajo dpi

Pero ¿Cuál es el propósito exacto de estas tres carpetas y cuándo debo usar una carpeta particular para almacenar imágenes?

+1

puede haber este enlace le ayuda a http://stackoverflow.com/questions/16706076/font-size-and-images-for-different-devices –

Respuesta

28

Supporting Multiple Screens (Desarrolladores de Android) es un buen artículo sobre eso. Encontrará más detalles sobre el soporte 1.5 en la sección "Estrategias para aplicaciones heredadas".

+0

1, gracias por el apoyo –

+1

entiendo el concepto, pero todavía no sé por qué tenemos 3 carpetas diferentes. Ejecuté un proyecto en emulador con el ícono en 'drawable-hpdi' solamente y luego en' drawable-ldpi' solamente. Dio el mismo resultado. Si puede escalar la imagen automáticamente, ¿por qué no podemos simplemente usar un solo directorio (usando la imagen de mayor resolución y escalando según el dispositivo)? – Shashwat

+4

@Shashwat como dice el documento. cuando el sistema Android elige qué recursos usar en tiempo de ejecución, utiliza cierta lógica para determinar los recursos de "mejor coincidencia". esto causará que la aplicación se cuelgue al cambiar el tamaño de una imagen de resolución muy grande a una resolución más baja. por lo tanto, se recomienda almacenar imágenes de diferentes tamaños en las carpetas respectivas (es decir, drawable-ldpi debe contener una menor resolución de imagen que la imagen en drawable-hdpi o drawable mdpi) –

24

Para declarar los diferentes diseños y mapas de bits que desea utilizar para las diferentes pantallas, debe colocar estos recursos alternativos en directorios/carpetas independientes.

Esto significa que si se genera una imagen de 200x200 para xhdpi dispositivos, se debe generar el mismo recurso en 150x150 para hdpi, 100x100 para mdpi y 75x75 para ldpi dispositivos.

A continuación, colocar los archivos en el directorio de recursos dibujable apropiado:

MyProject/ 
    res/ 
     drawable-xhdpi/ 
      awesomeimage.png 
     drawable-hdpi/ 
      awesomeimage.png 
     drawable-mdpi/ 
      awesomeimage.png 
     drawable-ldpi/ 
      awesomeimage.png 

Cada vez que se hace referencia @drawable/awesomeimage, el sistema selecciona el mapa de bits adecuado en función de la densidad de la pantalla.

+5

Solo una adición: la proporción [recomendada] entre ldpi, mdpi, hdpi y xhdpi son 3: 4: 6: 8. Eso explica cómo surgieron los valores de la imagen en la respuesta. – kehers

-1

Tengo una buena solución. Aquí lo he adjuntado como la imagen de abajo. Así que pruébalo. ¡Puede ser útil para ti ...!

Enter image description here

+9

esta respuesta debe ser texto – SMUsamaShah