Android: tamaño de la imagen de fondo (en píxeles) que admite todos los dispositivos

114

Estoy creando una aplicación que se ejecutará en todos los dispositivos Android. Quiero crear gráficos xhdpi para mi aplicación. Mi aplicación está en pantalla completa. Estoy confundido al crear gráficos. ¿Alguien puede decirme los mejores tamaños de mi imagen de fondo en píxeles?

Por ejemplo:

  • xhdpi: 720x1280 px
  • hdpi: 480x800 px
  • mdpi: 320x480 px
  • ldpi: 240x320 px

Sugiéreme los mejores tamaños que aparecerán en todos los dispositivos bien. Porque mis gráficos son el núcleo de mi aplicación.

Quiero que cada dispositivo obtenga la mejor imagen que desee. Android no participará en la compresión o expansión de la imagen.

Ahmed Nawaz
fuente
3
Lea el soporte de múltiples pantallas de Android de la documentación de Android, brindan el estándar para la interfaz de usuario
RajeshVijayakumar
Utilice esta única solución, la mejor para todos los dispositivos antiguos y nuevos y para los próximos. stackoverflow.com/a/40255870/2489061
Umer

Respuestas:

199

Las siguientes son las mejores dimensiones para que la aplicación se ejecute en todos los dispositivos. Para comprender las múltiples pantallas de soporte, debe leer http://developer.android.com/guide/practices/screens_support.html

xxxhdpi: 1280x1920 px
xxhdpi: 960x1600 px
xhdpi: 640x960 px
hdpi: 480x800 px
mdpi: 320x480 px
ldpi: 240x320 px
Veerababu Medisetti
fuente
10
XX debería ser 2x HDPI
LarryBud
1
interesante, nexus 5 es xxhdpi, pero su tamaño de pantalla es 1080x1920
Roman
3
El LG G3 tiene una resolución de 1440 x 2560 y usa xxxhdpi.
Roel
1
Ese es el principal problema / desafío con Android, no hay un tamaño establecido para hdpi, xhdpi, etc. porque cada fabricante puede hacer un teléfono / tableta de diferente tamaño, a diferencia de IOS, donde solo Apple lo hace. Mire la sección sobre el rango: developer.android.com/guide/practices/…
toidiu
Utilice esta única solución, la mejor para todos los dispositivos antiguos y nuevos y para los próximos. stackoverflow.com/a/40255870/2489061
Umer
63

Matrices de dispositivos Android

                            ldpi     mdpi     hdpi    xhdpi    xxhdpi      xxxhdpi
Launcher And Home           36*36    48*48   72*72    96*96    144*144     192*192
Toolbar And Tab             24*24    32*32   48*48    64*64    96*96       128*128
Notification                18*18    24*24   36*36    48*48    72*72       96*96 
Background                 240*320  320*480 480*800  768*1280  1080 *1920  1440*2560 

(Para un buen enfoque menos el tamaño de la barra de herramientas desde la altura total de la pantalla de fondo y luego diseñar gráficos de pantallas)

Para obtener más ayuda (este enlace también incluye tabletas):

https://design.google.com/devices/

Iconos nativos de Android (recomendado) Puede cambiar el color de estos iconos mediante programación . https://design.google.com/icons/

Umer
fuente
¿Por qué las tesis no se alinean con los multiplicadores sugeridos aquí? developer.android.com/training/multiscreen/screendensities#java
Ben
16

Mira esto. Esta imagen se mostrará para todos los tamaños de íconos para diferentes tamaños de pantalla

Talla

Ketan Ramani
fuente
4
de donde viene esto?
Mohammed Sohail Ebrahim
desde uno de los sitios mientras navega
Ketan Ramani
5

Busqué en Internet las dimensiones correctas para estas densidades para imágenes cuadradas, pero no pude encontrar nada confiable.

Si te sirve de consuelo, refiriéndome a la respuesta de Veerababu Medisetti, usé estas dimensiones para CUADRADOS :)

xxxhdpi: 1280x1280 px
xxhdpi: 960x960 px
xhdpi: 640x640 px
hdpi: 480x480 px
mdpi: 320x320 px
ldpi: 240x240 px
jp093121
fuente
Utilice esta única solución, la mejor para todos los dispositivos antiguos y nuevos y para los próximos. stackoverflow.com/a/40255870/2489061
Umer
4

La herramienta GIMP es exactamente lo que necesita para crear las imágenes para diferentes dispositivos de resolución de píxeles.

Sigue estos pasos:

  1. Abra la imagen existente en la herramienta GIMP.
  2. Vaya al menú "Imagen" y seleccione "Escalar imagen ..."
  3. Utilice la siguiente dimensión de píxeles que necesita:

    xxxhdpi: 1280x1920 px

    xxhdpi: 960x1600 px

    xhdpi: 640x960 px

    hdpi: 480x800 px

    mdpi: 320x480 px

    ldpi: 240x320 px

  4. Luego "Exportar" la imagen del menú "Archivo".

Sagar Rathod
fuente
3

Tengo entendido que si usa un Viewobjeto (como se supone, por ejemplo android:windowBackground), Android escalará automáticamente su imagen al tamaño correcto. El problema es que demasiada escala puede provocar artefactos (tanto durante la escala hacia arriba como hacia abajo) y borrosidad. Debido a las diversas resoluciones y relaciones de aspectos en el mercado, es imposible crear ajustes "perfectos" para cada pantalla, pero puede hacer todo lo posible para asegurarse de que solo se tenga que hacer un poco de escala y así mitigar los efectos secundarios no deseados . Entonces lo que haría es:

  • Mantenga la proporción de escala 3: 4: 6: 8: 12: 16 entre las seis densidades generalizadas (ldpi, mdpi, hdpi, etc.).
  • No debe incluir elementos xxxhdpi para sus elementos de la interfaz de usuario, esta resolución está destinada a mejorar la escala de los iconos del iniciador (por lo tanto, solo la carpeta mipmap) ... No debe usar el calificador xxxhdpi para los elementos de la interfaz de usuario que no sean el icono del iniciador. ... aunque por ejemplo. en el Samsung edge 7, la llamada getDisplayMetrics().densitydevuelve 4 (xxxhdpi), por lo que quizás esta información no esté actualizada.
  • Luego, mire los nuevos modelos de teléfonos en el mercado y encuentre los representativos. Asumir que el nuevo píxel de Google es una buena representación de un teléfono Android: tiene una resolución de 1080 x 1920 a 441 ppp y un tamaño de pantalla de 4,4 x 2,5 pulgadas . Luego, desde los documentos del desarrollador de Android :

    • ldpi (bajo) ~ 120 ppp
    • mdpi (medio) ~ 160 ppp
    • hdpi (alto) ~ 240 ppp
    • xhdpi (extra alto) ~ 320 ppp
    • xxhdpi (extra extra alto) ~ 480 ppp
    • xxxhdpi (extra extra extra alto) ~ 640 ppp

    Esto corresponde a una xxhdpipantalla. Desde aquí, podría reducir estos 1080 x 1920 en las proporciones (3: 4: 6: 8: 12) anteriores.

  • También podría reconocer que la reducción de resolución es generalmente una forma fácil de escalar y, por lo tanto, podría querer incluir mapas de bits ligeramente sobredimensionados en mi apk (Nota: mayor consumo de memoria). Una vez más, asumiendo que el ancho y la altura de la pantalla de píxeles son representativos, ampliaría el 1080x1920 en un factor de 480/441, dejando mi imagen de fondo de resolución máxima en aprox. 1200x2100, que luego se debe escalar por 3: 4: 6: 8: 12.
  • Recuerde, solo necesita proporcionar elementos de diseño específicos de densidad para archivos de mapa de bits (.png, .jpg o .gif) y archivos de nueve parches (.9.png). Si usa archivos XML para definir recursos dibujables (por ejemplo, formas), simplemente coloque una copia en el directorio dibujable predeterminado.
  • Si alguna vez tiene que acomodar relaciones de aspecto realmente grandes o extrañas, cree carpetas específicas para estas también, usando las banderas para esto, por ejemplo. sw, long, large, Etc.
  • Y no es necesario dibujar el fondo dos veces. Por lo tanto, establezca un estilo con<item name="android:windowBackground">@null</item>
Overclover
fuente