studio - layouts para diferentes pantallas android
Configurando la carpeta dibujable para usar para diferentes resoluciones (3)
Tengo 4 tamaños diferentes para cada uno de los íconos que necesito usar en mi aplicación. El problema es que mi Nexus 7 (1280 x 800) y galaxy s2 (800 x 480) parecen usar los recursos en drawable-hdpi. ¿Cómo obligo al Nexus a usar recursos en drawable-xhdpi y luego en la pestaña de 10 pulgadas para usar drawable-xxhdpi?
Tengo esto en mi archivo manifiesto
<supports-screens android:resizeable="true"
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true" />
¿Cómo obligo al Nexus a usar recursos en drawable-xhdpi y luego a la pestaña de 10 pulgadas para usar drawable-xxhdpi?
No puedes.
Los calificadores hdpi,xhdpi,xxhdpi
describen la densidad de la pantalla del dispositivo, no el tamaño de la pantalla. Del documento oficial
Densidad de pantalla
La cantidad de píxeles dentro de un área física de la pantalla; generalmente conocido como dpi (puntos por pulgada). Por ejemplo, una pantalla de "baja densidad" tiene menos píxeles dentro de un área física determinada, en comparación con una pantalla de densidad "normal" o "alta". Para simplificar, Android agrupa todas las densidades de pantalla reales en cuatro densidades generalizadas: baja, media, alta y extra alta.
Si también quieres admitir tabletas, usa calificadores large, xlarge
. Nexus 7 es una tableta de large-hdpi
(técnicamente es tvdpi
, pero toma imágenes de hdpi
). Entonces, si quiere poner imágenes para Nexus 7, drawable-large-hdpi
una carpeta llamada drawable-large-hdpi
y coloque las imágenes allí.
Nota : Este es el caso especial para Nexus 7. Porque aunque Nexus 7 es una tableta de 7 pulgadas, tiene una resolución de 1280 * 800 . Entonces es un dispositivo hdpi
. Pero los dispositivos normales de 7 pulgadas tienen resoluciones más bajas de 1024 * 600 . Entonces son dispositivos mdpi
. Entonces el calificador dibujable puede cambiar. (Desde mi propia experiencia, primero coloque una carpeta drawable-large-mdpi
para dispositivos de 7 pulgadas y compruébela en Nexus 7. Si no hay problema con las imágenes, no tiene que colocar otra carpeta. Porque si una carpeta en particular no está presente , Android buscará la carpeta más cercana posible y la optimizará para la pantalla del dispositivo)
Ahora, con respecto al caso de tabletas de 10 pulgadas, son dispositivos xlarge
y sus densidades pueden cambiar de mdpi
a xhdpi
(Nexus 10). Pero muchos tienen una resolución de 1280 * 800 y son dispositivos mdpi
.
La mejor práctica es poner los siguientes artículos descartables
// 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
Intenta usar Configuration qualifiers
para tus recursos. Esta es la mejor práctica. Como res/drawable-normal-hdpi-port/icon.png
.
Ref Link: Calificadores de configuración
Gracias.
The problem is My Nexus 7 (1280 x 800) and galaxy s2 (800 x 480) seem to use the resources in drawable-hdpi
eso depende de dispositivo como nexus 7
tiene 240dpi
que es un dispositivo hdpi
que tomará recursos dibujables de hdpi como este si prueba lo mismo en samsung
tab 2
samsung
tomará el mismo mdpi
de mdpi
porque es un dispositivo mdpi