2011-11-17 7 views
33

He leído 10 artículos pero todavía no puedo encontrar ninguna relación entre ldpi, mdpi, hdpi y las dimensiones reales en píxeles !? ¿Alguien puede dar una respuesta directa por favor (si hay uno)Tamaños de pantalla de Android en píxeles para ldpi, mdpi, hpdi?

Básicamente estoy tratando de armar una pantalla de presentación que necesita funcionar en varios dispositivos sin estirar - pero estoy luchando ya que todo lo que intento es cualquiera ¿aplastado o estirado?

Saludos Paul

+1

Tengo la misma duda. Tuve problemas y busqué muchas veces, muchos sitios web todavía no puedo tener una idea. Por favor escriba cualquiera para una respuesta directa aquí.Gracias @Dancer – Sakthi

Respuesta

0

Estos se refieren a píxel de la pantalla densidad, no dimensión pantalla. En su lugar, debe buscar especificadores de tamaño de pantalla como pequeño, mediano, grande y xlargo si realmente necesita cambiar el comportamiento en función del tamaño de la pantalla en píxeles.

The Android docs explique qué densidades y tamaños coinciden con estos identificadores.

0

Los dispositivos Android pueden tener diferentes relaciones de ancho a alto, mientras que su imagen tiene una fija. Si no desea que su imagen se alargue, deberá completar los espacios en blanco arriba y abajo, o izquierda y derecha.

6

Las definiciones son: pantallas

  • XLarge son al menos 960dp x 720dp. pantallas grandes están en menos 640dp x 480dp. las pantallas normales son de al menos 470dp x 320dp. Las pantallas pequeñas de tienen al menos 426 pd x 320 ppp. (Android actualmente no pantallas de apoyo más pequeño que este.)

Además, echa un vistazo a esta entrada del blog de Dianne Hackborne: http://android-developers.blogspot.com/2011/07/new-tools-for-managing-screen-sizes.html

Probablemente la cosa más sencilla es utilizar una vista de imagen y establecer el ScaleType a CENTER_CROP. (Escale la imagen uniformemente (mantenga la relación de aspecto de la imagen) para que ambas dimensiones (ancho y alto) de la imagen sean iguales o mayores que la dimensión correspondiente de la vista).

Asegúrese de utilizar la etiqueta src en lugar de establecer el fondo.

<ImageView 
    android:id="@+id/home_video_layout" 
    android:src="@drawable/splash_image" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:scaleType="centerCrop" 
    /> 

Actualizado:

densidades de pantalla comprensión y el “DP”

resolución es el número real de píxeles disponibles en la pantalla, la densidad es el número de píxeles aparecen dentro de un área constante de la pantalla y el tamaño es la cantidad de espacio físico disponible para mostrar su interfaz. Estos están interrelacionados: aumentan la resolución y la densidad juntas, y el tamaño permanece más o menos igual. Esta es la razón por la cual la pantalla 320x480 en una pantalla G1 y 480x800 en un Droid tienen el mismo tamaño de pantalla: la pantalla 480x800 tiene más píxeles, pero también es de mayor densidad.

Para eliminar los cálculos de tamaño/densidad de la imagen, el marco de Android funciona siempre que sea posible en términos de unidades "dp", que se corrigen por densidad. En las pantallas de densidad media ("mdpi"), que corresponden a los teléfonos Android originales, los píxeles físicos son idénticos a los dp; las dimensiones de los dispositivos son 320x480 en cualquier escala. Un teléfono más reciente puede tener dimensiones de píxeles físicos de 480x800, pero puede ser un dispositivo de alta densidad. El factor de conversión de hdpi a mdpi en este caso es 1.5, por lo que para los propósitos de un desarrollador, el dispositivo es 320x533 en dp's.

+1

¡Saludos por su ayuda allí, pero todavía estoy confundido! Todavía no entiendo qué tamaño de dimensión real (en píxeles, ya que no puedo usar DP en Photoshop). ¿Haría la imagen en Photoshop para que se muestre en la pantalla central en cada una de las resoluciones? Saludos Paul – Dancer

+0

¿Has leído el blogpost al que me he vinculado? Acabo de actualizar mi respuesta con un fragmento de ese artículo – Damian

+0

un enlace a un buen artículo, gracias – Mixaz

73

ldpi, mdpi y hdpi se refieren a la densidad de la pantalla, , lo que significa la cantidad de píxeles que caben en una sola pulgada.

la relación en píxeles entre ellos es:

  • LDPI = 1: 0,75
  • MDPI = 1: 1
  • IPAP = 1: 1,5
  • xhdpi = 1: 2
  • xxhdpi = 1: 3
  • xxxhdpi = 1: 4

por lo que permite tomar una imagen con el tamaño aproximado de 100X100:

  • para mdpi Cabe 100X100
  • para LDPI debe ser 75x75
  • para IPAP Cabe 150X150
  • para xhdpi se debe ser 200X200
  • para xxhdpi debe ser 300X300
  • para xxxhdpi debe ser 400X400

de esta manera, para pantallas con el mismo tamaño pero diferente DPI, todas las imágenes parecen del mismo tamaño en la pantalla.

También tiene varios tipos de tamaño de pantalla pequeño, normal, grande, xlarge y cada uno de ellos puede ser ldpi, mdpi, hdpi, xhdpi, xxhdpi (Nexus 10) o xxxhdpi.

Puede tratar de crear una imagen de pantalla de bienvenida que se ajuste a cada tipo de pantalla que le da 4 * 5 = 20 imágenes diferentes (me parece mucho).

Por ahora, solo el Nexus 10 está en la categoría xxhdpi.

+0

Nexus 10 tiene una pantalla con ~ 299 ppp de densidad de píxeles, que caería en un dispositivo xhpi. Para ser un dispositivo xxhpi, necesitaría tener ~ 480ppi. Pero necesita un lanzador de íconos xxhpi. Entonces, de hecho, Nexus 10 es un dispositivo xhdpi, con un ícono xxhdpi launcher. – Alesqui

24

Install ImageMagick y utilizar this shell script para generar los archivos de salpicaduras y de los iconos para múltiples dispositivos - iOS, Android, Bada y Windows Phone. Puede utilizar cygwin/gitbash si está en Windows

que acabo de hacer y estoy muy contento con él :-)

Los tamaños de pantalla están dentro de la secuencia de comandos y son -

480x800 - screen-hdpi-portrait.png 
320x200 - screen-ldpi-landscape.png 
720x1280 - screen-xhdpi-portrait.png 
320x480 - screen-mdpi-portrait.png 
480x320 - screen-mdpi-landscape.png 
200x320 - screen-ldpi-portrait.png 
800x480 - screen-hdpi-landscape.png 
Cuestiones relacionadas