Pregunta

Tengo una idea aproximada de para qué sirven cada uno de estos directorios, pero no tengo claro el concepto y tengo algunas preguntas específicas.

Por ejemplo, ¿cuáles son los DPI objetivo para cada directorio? Cuando crea un activo, ¿debería estar en ese DPI objetivo o debería estar en el DPI de pantalla de 72 ppi más normal? Si está apuntando a múltiples dispositivos, ¿es apropiado poner un PNG en dibujo o siempre debe tener múltiples versiones ligeramente adaptadas a las pantallas específicas?

Gracias.

¿Fue útil?

Solución

Como los demás han sugerido, la documentación en línea de Android tiene excelentes artículos sobre esto. Sin embargo, voy a intentar enumerar aquí algunos consejos rápidos y útiles:

  1. Considere que MDPI es 1. Entonces, LDPI es 0.75 Y HDPI es 1.5. Lo que eso significa es que si tienes un dibujo que es, digamos, 50x50 En una pantalla MDPI tendrá que ser ~37x37 en una pantalla LDPI y 75x75 en una pantalla HDPI, Para aparecer aproximadamente al mismo tamaño físico en cada pantalla (es decir, 2 cm si coloca una regla en la pantalla). Además, la pantalla de su computadora es más probablemente MDPI, por eso se recomienda comenzar con Drawables MDPI y luego cambiarles el tamaño: el tamaño físico del dibujo estará muy cerca entre la pantalla de su computadora y un dispositivo MDPI Android. Si ve un HDPI dibujable en su computadora y en un dispositivo HDPI notará que es mucho más grande (de nuevo, físicamente - Pon una regla en el estilo de TI) en la pantalla de PC.
  2. Si no suministra dibujables especiales para cada densidad, Android escalará el más cercano disponible automáticamente.
  3. No debe considerar el DPI de un dispositivo que tiene nada que ver con el tamaño de la pantalla y/o el número de píxeles y/o la relación de resolución y/o aspecto. Un dispositivo podría ser muy pequeño y tener una pantalla HDPI o muy grande y tener una pantalla LDPI. El objetivo de esta diferenciación de densidad es tener cosas Mira del mismo tamaño en todos los dispositivos, no Encaja lo mismo en todos los dispositivos. Por ejemplo, si un dibujo llena toda la pantalla en un dispositivo MDPI, no espere que haga lo mismo en otro dispositivo MDPI. Además, no espere "ver lo mismo" en diferentes dispositivos DPI. La mayoría de los dispositivos HDPI realmente tienen más espacio que los dispositivos DPI más bajos. Por ejemplo, si un ListView puede mostrar 5 elementos en un dispositivo MDPI, podría mostrar 6 elementos en un dispositivo HDPI, a pesar del hecho de que el ListView Los elementos tienen la misma densidad independiente (es decir, 1.5 veces más grande en HDPI que en la altura de MDPI).

Podría haber salido un poco fuera de lugar, pero estas son cosas que he aprendido a tiempo golpeándome la cabeza contra ellos. Solo trato de guardar el dolor de cabeza de otra persona :)

Otros consejos

Lo siento, pero Android tiene un gran documento en línea con ejemplos, así que para este tipo de pregunta, la respuesta es:

http://developer.android.com/guide/practices/screens_support.html

No hay valores DPI exactos para cada carpeta. Cada carpeta está relacionada con algún rango. Mira aquí: http://developer.android.com/guide/practices/screens_support.html

Estos directorios deben mantener recursos dibujables optimizados para alguna densidad de pantalla. Puede mantener solo un dibujo para HDPI o cualquier otro, pero en dispositivos con otras configuraciones de DPI se redimensionará de alguna manera y tomará tiempo/recursos. También la imagen DPI baja se verá pobre en dispositivos con HDPI.

Debido al diferente tamaño y resoluciones de pantalla, Android le permite organizar sus imágenes dibujables de acuerdo con las carpetas. Las imágenes para pantallas DPI altas deben colocarse en HDPI y de manera similar MDPI y LDPI. La carpeta predeterminada para Drawables es Drawable si el sistema operativo no coincide con ninguna categoría DPI o los recursos no se encuentran en directorios DPI especiales, el sistema elige el recurso del directorio de Drawables.

El tamaño no es exacto, pero hasta 130 ppi se considera pequeño, de 130 a 180 se puede considerar MDPI, de 180 a 200 se puede considerar como HDPI y el más alto se clasifica como XDPI.

http://developer.android.com/guide/practices/screens_support.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top