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
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
:
- Incluir
implementation 'com.intuit.sdp:sdp-android:1.0.5'
en tusbuild.gradle
, -
Reemplazar cualquier
dp
valor como50dp
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.
Véalo en acción:
Aquí está en tres dispositivos con dimensiones y densidades de pantalla muy diferentes:
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)