Saltar al contenido

¿Cómo definir dimens.xml para cada tamaño de pantalla diferente en Android?

Solución:

Tienes que crear Carpeta de diferentes valores para diferentes pantallas . Igual que

values-sw720dp          10.1” tablet 1280x800 mdpi

values-sw600dp          7.0”  tablet 1024x600 mdpi

values-sw480dp          5.4”  480x854 mdpi 
values-sw480dp          5.1”  480x800 mdpi 

values-xxhdpi           5.5"  1080x1920 xxhdpi
values-xxxhdpi           5.5" 1440x2560 xxxhdpi

values-xhdpi            4.7”   1280x720 xhdpi 
values-xhdpi            4.65”  720x1280 xhdpi 

values-hdpi             4.0” 480x800 hdpi
values-hdpi             3.7” 480x854 hdpi

values-mdpi             3.2” 320x480 mdpi

values-ldpi             3.4” 240x432 ldpi
values-ldpi             3.3” 240x400 ldpi
values-ldpi             2.7” 240x320 ldpi

ingrese la descripción de la imagen aquí

Para obtener más información, puede visitar aquí.

Carpetas de diferentes valores en android

http://android-developers.blogspot.in/2011/07/new-tools-for-managing-screen-sizes.html

Editado Por @humblerookie

Puede utilizar el complemento de Android Studio llamado Dimenify para generar automáticamente valores de dimensión para otros depósitos de píxeles en función de factores de escala personalizados. Todavía está en versión beta, asegúrese de notificar cualquier problema / sugerencia que encuentre al desarrollador.

Utilice DP escalable

Aunque teóricamente es una buena idea hacer un diseño diferente para diferentes tamaños de pantalla, puede resultar muy difícil adaptarse todos dimensiones de la pantalla y densidades de píxeles. Tener más de 20+ diferentes dimens.xml archivos como se sugiere en las respuestas anteriores, no es fácil de administrar.

Cómo utilizar:

Usar sdp:

  1. Incluir implementation 'com.intuit.sdp:sdp-android:1.0.5' en tus build.gradle,
  2. Reemplazar cualquier dp valor como 50dp con un @dimen/50_sdp al igual que:

    <TextView
     android:layout_width="@dimen/_50sdp"
     android:layout_height="@dimen/_50sdp"
     android:text="Hello World!" />
    

Cómo funciona:

sdp escala con el tamaño de la pantalla porque es esencialmente una lista enorme de diferentes dimens.xml para cada posible dp valor.

ingrese la descripción de la imagen aquí

Véalo en acción:

Aquí está en tres dispositivos con dimensiones y densidades de pantalla muy diferentes:

ingrese la descripción de la imagen aquí

Tenga en cuenta que el sdp El cálculo de la unidad de tamaño incluye cierta aproximación debido a algunas limitaciones de rendimiento y usabilidad.

queremos ver los cambios del tamaño de vista requerido en diferentes pantallas.

Necesitamos crear carpetas de valores diferentes para diferentes pantallas y colocar el archivo dimens.xml en función de las densidades de pantalla.

Tomé un TextView y observé los cambios cuando cambié dimens.xml en diferentes carpetas de valores.

Por favor siga el proceso

normal – xhdpi dimens.xml

Los siguientes dispositivos pueden cambiar el tamaño de las pantallas cuando cambiamos el normal: xhdpi dimens.xml

nexus 5X (5,2 “* 1080 * 1920: 420 ppp)

nexus 6P (5,7 “* 1440 * 2560: 560 ppp)

nexus 6 (6,0 “* 1440 * 2560: 560 ppp)

nexus 5 (5,0 “, 1080 1920: xxhdpi)

nexus 4 (4,7 “, 768 * 1280: xhdpi)

Galaxy nexus (4,7 “, 720 * 1280: xhdpi)

4,65 “720p (720 * 1280: xhdpi)

4,7 “WXGA (1280 * 720: Xhdpi)

Xlarge – xhdpi dimens.xml

Los siguientes dispositivos pueden cambiar el tamaño de las pantallas cuando cambiamos el Xlarge – xhdpi dimens.xml

nexus 9 (8,9 “, 2048 * 1556: xhdpi)

nexus 10 (10,1 “, 2560 * 1600: xhdpi)

grande – xhdpi dimens.xml

Los siguientes dispositivos pueden cambiar el tamaño de las pantallas cuando cambiamos el tamaño grande: xhdpi dimens.xml

nexus 7 (7.0 “, 1200 * 1920: xhdpi)

nexus 7 (2012) (7,0 “, 800 * 1280: tvdpi)

Las siguientes pantallas son visibles en “Buscar teléfonos y tabletas genéricos”

grande – mdpi dimens.xml

Los siguientes dispositivos pueden cambiar el tamaño de las pantallas cuando cambiamos el tamaño grande: mdpi dimens.xml

5.1 “WVGA (480 * 800: mdpi)

5,4 “FWVGA (480 * 854: mdpi)

7.0 “WSVGA (tableta) (1024 * 600: mdpi)

normal – hdpi dimens.xml

Los siguientes dispositivos pueden cambiar el tamaño de las pantallas cuando cambiamos el normal: hdpi dimens.xml

nexus s (4.0 “, 480 * 800: hdpi)

nexus one (3,7 “, 480 * 800: hdpi)

pequeño – ldpi dimens.xml

Los siguientes dispositivos pueden cambiar el tamaño de las pantallas cuando cambiamos el tamaño pequeño: ldpi dimens.xml

Control deslizante QVGA de 2,7 “(240 * 320: ldpi)

QVGA de 2,7 “(240 * 320: ldpi)

xlarge – mdpi dimens.xml

Los siguientes dispositivos pueden cambiar el tamaño de las pantallas cuando cambiamos el xlarge – mdpi dimens.xml

WXGA de 10,1 “(tableta) (1280 * 800: MDPI)

normal – ldpi dimens.xml

Los siguientes dispositivos pueden cambiar el tamaño de las pantallas cuando cambiamos el normal: ldpi dimens.xml

3,3 “WQVGA (240 * 400: LDPI)

3,4 “WQVGA (240 * 432: LDPI)

normal – hdpi dimens.xml

Los siguientes dispositivos pueden cambiar el tamaño de las pantallas cuando cambiamos el normal: hdpi dimens.xml

WVGA de 4,0 “(480 * 800: hdpi)

3,7 “WVGA (480 * 800: hdpi)

Control deslizante FWVGA de 3,7 “(480 * 854: hdpi)

normal – mdpi dimens.xml

Los siguientes dispositivos pueden cambiar el tamaño de las pantallas cuando cambiamos lo normal: mdpi dimens.xml

Control deslizante HVGA de 3,2 “(ADP1) (320 * 480: MDPI)

3,2 “QVGA (ADP2) (320 * 480: MDPI)

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *