Necesito aclarar algunas dudas acerca de la imagen de activos para mi aplicación,

si puedo especificar en un archivo xml que la altura de algo [ver imagen] es de 50 dip altura

que tipo de pantalla debo elegir la carpeta de recursos?

drawable, hdpi, ldpi, mdpi, xhdpi,

tener el 50 px altura de la imagen,

y ¿cuál es el porcentaje para los más grandes, más pequeñas imágenes en tamaño en comparación con la imagen base,

como en iOS, @2x, es, literalmente, a 2 veces el tamaño de la imagen, y que decir de manera programática de los de tamaño normal,

gracias!

4 Comentarios

  1. 368

    mdpi es la densidad de referencia, es decir, 1 px en un mdpi de la pantalla es igual a 1 dip. La proporción de activos de escala es:

    ldpi | mdpi | tvdpi | hdpi | xhdpi | xxhdpi | xxxhdpi
    0.75 | 1    | 1.33  | 1.5  | 2     | 3      | 4

    Pesar de que usted realmente no necesita preocuparse acerca de tvdpi a menos que usted está desarrollando específicamente para Google TV, o el original del Nexus 7 — pero incluso Google recomienda usar simplemente hdpi activos.

    Lo que esto significa es si usted está haciendo un 48dip la imagen y el plan de apoyo a xxhdpi resolution, usted debe comenzar con un 144px imagen (192px si desea nativo de activos para xxxhdpi) y realizar las siguientes imágenes para las densidades:

    ldpi    | mdpi    | tvdpi    | hdpi    | xhdpi     | xxhdpi    | xxxhdpi
    36 x 36 | 48 x 48 | 64 x 64  | 72 x 72 | 96 x 96   | 144 x 144 | 192 x 192

    Y estos deben mostrar en aproximadamente el mismo tamaño y en cualquier dispositivo, siempre que usted haya colocado a estos en la densidad de las carpetas específicas (por ejemplo,drawable-xhdpi, drawable-hdpi, etc.)

    De referencia, las densidades de píxeles de estos son:

    ldpi  | mdpi  | tvdpi  | hdpi  | xhdpi  | xxhdpi  | xxxhdpi
    120   | 160   | 213    | 240   | 320    | 480     | 640
    • Esta es la explicación más fácil de este tema que He visto en línea en cualquier lugar. Yo, literalmente, libro marcado en mi diseñadores de la estación de trabajo de lol
    • Jaja, genial! 😛 Acaba de agregar info para XXHDPI, demasiado.
    • ¿Cómo decide usted tiene que comenzar desde un 48dip ? Dicen que solo tiene una tablet (mdpi) en la mano, comienza con una muestra aleatoria de tamaño, y repetir hasta que se ve «lo suficientemente grande» ?
    • Es sólo un tamaño que se utiliza como un ejemplo. En este caso, es el tamaño de un icono del iniciador. Cualquier tamaño que usted necesita para otros activos depende de su caso de uso.
    • Gracias, sencillo y claro.
    • La mejor explicación. Yo también uso este sitio para la conversión se refiere a px y dp. pixplicity.com/dp-px-converter
    • lo que la última parte de tu respuesta significados? ldpi 120 ? en este número proviene?

  2. 22

    Basado en kcoppock‘s respuesta que me he creado el siguiente script de shell para cambiar automáticamente el tamaño de todas las imágenes en el tamaño correcto y la copia de ellos en los respectivos Android dibujable-* – carpetas!

    Crear un script de shell y pegue el siguiente código:

    createAndroidImages.sh

    #!/bin/bash
    
    read -p "Please enter the subfolder of the original images? " folder
    read -p "How many DP (width) should the image have? " dp
    
    for i in $(find $folder/. -type f -name "*[A-Z]*"); do mv "$i" "$(echo $i | tr A-Z a-z)"; done
    
    mkdir drawable-ldpi
    mkdir drawable-mdpi
    mkdir drawable-tvdpi
    mkdir drawable-hdpi
    mkdir drawable-xhdpi
    mkdir drawable-xxhdpi
    mkdir drawable-xxxhdpi
    
    cp $folder/* drawable-ldpi/
    cp $folder/* drawable-mdpi/
    cp $folder/* drawable-tvdpi/
    cp $folder/* drawable-hdpi/
    cp $folder/* drawable-xhdpi/
    cp $folder/* drawable-xxhdpi/
    cp $folder/* drawable-xxxhdpi/
    
    sips -Z $(echo $dp*3/4 | bc) drawable-ldpi/*
    sips -Z $(echo $dp | bc) drawable-mdpi/*
    sips -Z $(echo $dp*4/3 | bc) drawable-tvdpi/*
    sips -Z $(echo $dp*3/2 | bc) drawable-hdpi/*
    sips -Z $(echo $dp*2 | bc) drawable-xhdpi/*
    sips -Z $(echo $dp*3 | bc) drawable-xxhdpi/*
    sips -Z $(echo $dp*4 | bc) drawable-xxxhdpi/*

    Poner el script en una carpeta y sus imágenes originales en una subcarpeta por ejemplo:

    /
    .. createAndroidImages.sh
    .. originalImages/
    ....a123.png
    ....b456.png

    Ejecutar el shell de comandos en la terminal: sh createAndroidImages.sh

    Para copiar las imágenes creadas directamente a tu Android Studio Proyecto:

    cp -R drawable-* ~/AndroidStudioProjects/ESCRating/app/src/main/res/

    Estás hecho! Espero que esto ayude a alguien!

    P. S. por Favor, tenga en cuenta que las imágenes originales deben tener al menos cuatro veces el ancho en píxeles, de la anchura deseada en dpi (por ejemplo, 4 (factor de xxxhdpi) * 30dpi => 120px) para obtener resultados óptimos.

  3. 4

    kcoppock hizo un gran trabajo explicando Andorid pantalla de densidades.
    Sólo me gustaría añadir un punto más con respecto a la pregunta original.

    Tablet Android launcher icon utiliza una densidad de cubo.

    Según el desarrollador de Google, Nick Carnicero de Google+ de post

    La magnífica pantalla de la Nexus 10 cae en la XHDPI la densidad del cubo. En las tabletas, el Lanzador utiliza iconos de una densidad de cubo [0] para hacerlos un poco más grande. Para asegurarse de que su icono launcher (podría decirse que sus aplicaciones más importantes de los activos) es fresco que usted necesita para añadir un 144*144px icono en la imagen-xxhdpi o dibujable-480dpi carpeta.

    Encontrar la fuente aquí

  4. 1

    Aquí es mis cálculos para aumentar la escala y la reducción de la escala de imágenes para android-

    ldpi (120 dpi, la Baja densidad de la pantalla) – 36px x 36px (0.19) (1)

    mdpi (160 dpi, la densidad Media de la pantalla) – 48px x 48px (0.25) (1.33)

    ipap (240 dpi, de Alta densidad de la pantalla) – 72px x 72px (0.38) (2)

    xhdpi (320 dpi, Extra-alta densidad de la pantalla) – 96px x 96px (0.5) (2.67)

    xxhdpi (480 dpi, Extra-extra-alta densidad de la pantalla) – 144px x 144px (0.75) (4)

    xxxhdpi (640 dpi, Extra-extra-extra-alta densidad de la pantalla) – 192px x 192px (1.0) (5.33)

    Mi breve artículo es útil para crear recursos de imagen utilizando imagemagick, cuando hay varias imágenes.

Dejar respuesta

Please enter your comment!
Please enter your name here