studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones android resources dimensions

programacion - Diferentes carpetas de valores en Android



manual de programacion android pdf (4)

Tienes que crear una carpeta de valores diferentes para diferentes pantallas -> resource

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

Estoy creando diferentes carpetas de values en mi aplicación (values, values-ldpi, values-mdpi, values-hdpi, values-xhdpi, values-nodpi, values-w360dp-mdpi) . Pero algunos dispositivos que pertenecen a la misma categoría. Pero teniendo diferentes tamaños de pantalla. Pero veo dar tamaño de fuente de acuerdo a las densidades del dispositivo en esto, la respuesta proporcionada por @PankajSharma sugiere crear carpetas como-

res/values/dimens.xml res/values-small/dimens.xml res/values-normal/dimens.xml res/values-xlarge/dimens.xml

Quiero saber cuál es la diferencia a mi manera y viceversa. Creo que la respuesta proporcionada por @PankajSharma es fácil. También quiero saber qué camino es mejor?


Cree un diseño único para las pantallas predeterminadas de 4.7 pulgadas (hdpi) en la carpeta de diseño y las dimensiones en la carpeta de valores. Este es tu superconjunto .

Ahora digamos que quiere sus diseños para dispositivos de 7 pulgadas. Crear una carpeta values-sw600dp para 7 pulgadas en orientación Vertical

Ahora digamos que desea sus diseños para dispositivos de 10 pulgadas Crear carpeta values-dw720dp

NOTA: - Para el paisaje simplemente agregue "-land" delante de los nombres de las carpetas.

Ahora digamos que tiene nuevos dispositivos como Xperia SP (4.7 ''y XHDPI) y Nexus 5 (5 "y XXHDPI).

Para estos, puede crear carpetas values-xhdpi y values-xxhdpi y, de forma similar, añadir -land para orientación horizontal.

Espero que tengas el sentido de cómo crear carpetas ...

Ahora su superconjunto está definido en la carpeta de valores. La mayoría de las dimensiones se usarán solo desde aquí. Ahora ejecuta tu aplicación en otros dispositivos. Independientemente de la discrepancia que ocurra, solo agregue esa dimensión específica en su respectiva carpeta de valores

Para verificar desde qué carpeta se usan tus diseños y las imágenes, utiliza mi truco.

Cree cinco cadenas iguales y coloque en ella todas las carpetas de valores como esta: - Pantalla de pantalla predeterminada 4.7 Pantalla XHDPI Pantalla MDPI

Cree cinco carpetas dibujables, la mayoría de ellas ya estarán allí: - drawable-hdpi, drawable-mdpi, drawable-xhdpi, drawable-xxhdpi, drawable-xxxhdpi Coloque las capturas de pantalla a continuación en su carpeta respectiva bajo el mismo nombre

Así es como se ve mi carpeta res y estoy soportando todos los dispositivos desde la pantalla 4.7 y superior:


El enfoque que está utilizando es un enfoque válido, pero un poco desactualizado. Desde HoneyComb , hay una nueva forma de arreglar todo esto. Su carpeta de recursos ahora debería verse así:

Consulte el enlace que publiqué y familiarícese con el concepto de Smallest Width .

Espero que esto ayude :)

EDITAR: Añadiendo a esta publicación, intenta establecer algún tipo de estandarización en tu dimens.xml , algo como esto:

Hacer esto hace que sea más fácil mantener el código, además de que reduce la cantidad de carpetas de dimen . Normalmente, en lugar de tener values-hdpi , values-xhdpi , etc., los archivos como values-sw480dp-xhdpi pueden tener más valores para ajustar, pero de nuevo todo esto es contextual.


<dimen name="activity_horizontal_margin">16dp</dimen> <dimen name="activity_vertical_margin">16dp</dimen> <!-- Various Text Sizes --> <dimen name="text_size_extra_small">10sp</dimen> <dimen name="text_size_small">12sp</dimen> <dimen name="text_size_medium">14sp</dimen> <dimen name="text_size_normal">16sp</dimen> <dimen name="text_size_large">18sp</dimen> <dimen name="text_size_extra_large">20sp</dimen> <dimen name="text_size_super_large">50sp</dimen> <dimen name="text_size_super_extra_large">70sp</dimen> <!-- Various Paddings --> <dimen name="padding_very_short">2dp</dimen> <dimen name="padding_short">5dp</dimen> <dimen name="padding_medium">7dp</dimen> <dimen name="padding_normal">10dp</dimen> <dimen name="padding_long">35dp</dimen> <dimen name="padding_long_gamename">55dp</dimen> <dimen name="padding_extra_long">15dp</dimen> <!-- Various Margins --> <dimen name="margin_very_short">5dp</dimen> <dimen name="margin_med_short">5dp</dimen> <dimen name="margin_short">10dp</dimen> <dimen name="margin_meium">15dp</dimen> <dimen name="margin_short_player_review">10dp</dimen> <dimen name="margin_meium_player_review">15dp</dimen> <dimen name="margin_normal">20dp</dimen> <dimen name="margin_long">25dp</dimen> <dimen name="margin_vshape">25dp</dimen> <!-- Various Width --> <dimen name="width_extra_min">120dp</dimen> <dimen name="width_profile_messages_images">70dp</dimen> <dimen name="width_half">240dp</dimen> <dimen name="width_normal">300dp</dimen> <dimen name="width_extra_large">360dp</dimen> <dimen name="width_popup_window">180dp</dimen> <!-- Various Height --> <dimen name="height_very_short_shadow">1dp</dimen> <dimen name="height_short">40dp</dimen> <dimen name="width_ListHalf">260dp</dimen>