Tengo 4 tamaños diferentes para cada uno de los iconos que tengo que usar en mi aplicación. El problema es que Mi Nexus 7 (1280 x 800) y el galaxy s2 (800 x 480) parece que el uso de los recursos en dibujable-ipap. ¿Cómo puedo forzar la Nexus al uso de los recursos en dibujable-xhdpi y, a continuación, la de 10 pulgadas ficha para utilizar dibujable-xxhdpi.

Tengo esto en mi archivo de manifiesto

<supports-screens android:resizeable="true"
              android:smallScreens="true"
              android:normalScreens="true"
              android:largeScreens="true"
              android:xlargeScreens="true"
              android:anyDensity="true" />
  • como otro están señalando, el problema no es cómo obligar Android a ejecutar de la manera que usted quiere que, pero para entender cómo la selección de recursos funciona en android y usarlo correctamente. Le recomiendo que lea el oficial doc.
  • Mi aplicación no estaba usando el derecho de la densidad (que se estaba utilizando mdpi donde ipap estaba disponible). El fragmento de código me ayudó a solucionar mi problema, y puede ayudar a los demás, así que tengo upvoted su pregunta en nombre de la preservación.
  • Creo que los autores deberían actualizar sus respuestas para los dispositivos más recientes y las nuevas api de android.
InformationsquelleAutor Amanni | 2013-04-18

3 Comentarios

  1. 102

    ¿Cómo puedo forzar la Nexus al uso de los recursos en dibujable-xhdpi y, a continuación,
    la de 10 pulgadas ficha para utilizar dibujable-xxhdpi?

    No se puede.

    La fase de clasificación hdpi,xhdpi,xxhdpi describe la densidad de pantalla del dispositivo, no el tamaño de la pantalla.
    Desde el oficial doc

    La densidad de pantalla

    La cantidad de píxeles en un área física de la pantalla; por lo general
    se refiere a como ppp (puntos por pulgada). Por ejemplo, una «baja» densidad
    la pantalla tiene menos pixeles dentro de un determinado espacio físico, en comparación con un
    «normal» o «alta» densidad de la pantalla. Por simplicidad, Android grupos de todos los
    pantalla real densidades en cuatro generalizada densidades: bajo, medio,
    de alta y extra alta.

    Si quieres apoyar también tabletas, uso large, xlarge calificadores. Nexus 7 es un large-hdpi tablet(técnicamente es tvdpi, pero toma imágenes de hdpi). Así que si quieres poner imágenes para el Nexus 7, hacer una carpeta con el nombre drawable-large-hdpi y poner las imágenes allí.

    Nota: Este es el caso especial del Nexus 7. Porque a pesar de que el Nexus 7 es una tableta de 7 pulgadas, tiene resolución de 1280 * 800. Así que es un hdpi dispositivo. Pero normal de 7 pulgadas dispositivos tienen menor resoluciones de 1024 * 600. Por lo que son mdpi dispositivos. Así que la imagen calificador puede cambiar. (Desde mi propia experiencia, primero poner una carpeta drawable-large-mdpi de 7 pulgadas de dispositivos y compruebe el Nexus 7. Si no hay ningún problema con las imágenes, usted no tiene que poner otra carpeta. Porque si una carpeta en particular no está presente, Android comprobará la más cercana posible de la carpeta y la optimiza para la pantalla del dispositivo)

    Ahora, con respecto a la 10 comprimidos pulgadas caso, son xlarge dispositivos y sus densidades puede cambiar de mdpi a xhdpi(Nexus 10). Pero muchos tienen una resolución de 1280 * 800 y son mdpi dispositivos.

    La mejor práctica es poner el siguiente dibujables

    //for Phones
    drawable-ldpi
    drawable-mdpi
    drawable-hdpi
    
    //for 7 inch tablets
    drawable-large-mdpi
    drawable-large-hdpi(for Nexus 7)
    
    //for 10 inch tablets
    drawable-xlarge-mdpi
    • Muy buena explicación, AndroidVogue consiguió la respuesta correcta primero, pero creo que puede ayudar a explicar mejor para mí y nadie más que problemas similares. Gran esfuerzo
    • 1 voto para su explicación.
    • +1 por salvar mi día, explicó mejor que el de Google, el desarrollador del sitio..Genial!!
    • Cómo sobre el uso de sólo dibujable-grandes y dibujable-xl en caso de que usted no necesita la distinción Nexus7 / otras tabletas de 7 pulgadas?
    • Si sólo se desea, use sólo drawable-large y drawable-xlarge. No hay ninguna regla específica en el uso de los calificadores que otros de su orden.
    • Sé que esto es muy antiguo y se pregunta, pero sólo tengo una preocupación con la solución. Si usted tiene activos de alrededor de 2 mb en una carpeta, a continuación, multiplicando ellos aumentaría a un mayor apk tamaño. Hay una solución para que las imágenes no parece lento y el apk tamaño es pequeño así cuando se trata de desarrollar para ambos teléfonos y tabletas?
    • Siempre puedes usar Múltiples Apk
    • Gracias por tu respuesta. Yo estoy usando el Nexus de 9 pulgadas de tablet, así como definir la imagen de la carpeta para este. Resolución de 2048 x 1536
    • Su explicación es que vale la pena leer…y me ayudó mucho.. plz que me haga saber que, aparte de la imagen de la carpeta de cómo tenemos que mantener el diseño y dimens carpeta…. para el diseño y dimens carpeta también necesitamos mantener carpetas diferentes

  2. 1

    Intentar utilizar Configuration qualifiers de sus recursos. Esta es la mejor práctica. Como res/drawable-normal-hdpi-port/icon.png.

    Ref Enlace: Configuración de los calificadores

    Gracias.

    • así que puedo tener mdpi, ipap y xhdpi para el normal y luego 3 más grandes y x-large?
    • No es necesario. Crear carpeta de acuerdo a sus necesidades. Me refiero a qué tipo de dispositivos de su destino. para la Nexus 7 puede crear res/drawable-large-hdpi carpeta. Sería utilizar las imágenes de esa carpeta. Así que ahora usted tiene dos Hdpi Drawable carpeta – uno para 480x800 -> drawable-hdpi y el recién creado para Nexus 7 -> drawable-large-hdpi tablet.
  3. 1
    The problem is My Nexus 7 (1280 x 800) and galaxy s2 (800 x 480) seem to use the resources in drawable-hdpi

    que depende de dispositivo como nexus 7 ha 240dpi que es un hdpi dispositivo tomará dibujable recursos de ipap como este si se prueba de la misma en samsung tab 2 va a tomar la misma imagen de mdpi debido a que su mdpi dispositivo

    • básicamente quiero 480×320 para mdpi, 800×480 para ipap y 1280×800 para xhdpi
    • No hay que tomar a partir de ipap no mdpi
    • he editado mi respuesta por favor revise.

Dejar respuesta

Please enter your comment!
Please enter your name here