Ver la Versión Completa : ajustar pantalla automaticamente
lokoxumusu
17/12/13, 18:38:47
Buenas, tengo realizando una app y después de hacer el layout para la entrada de datos y colocar muchos botones y etiquetas, al abrirlo en un móvil con una pantalla superior, no salen "exactamente" como yo lo coloqué.
¿Hay alguna forma de que se ajusten automáticamente a la pantalla del móvil en el que se instale?
Un saludo y gracias
kriogeN
17/12/13, 18:47:59
Usando DP, pero eso funciona bien para posicionamiento horizontal. En Vertical los móviles más grandes dejarán más espacio abajo (o entre los elementos si usas alineación Bottom y Top).
Aún así hay móviles que no tienen un DP estándar para su tipo de pantalla (por ejemplo el HTC One S) y se nota que los elementos son un poco más pequeños y no ocupan el mismo espacio a mismo DP.
También se puede usar el sistema de "pesos" (Weight) de los LinearLayout para hacer que los elementos ocupen un determinado porcentaje de la pantalla (en horizontal o vertical según el tipo de LinearLayout), pero es un poco más trabajoso y no siempre viene bien en la mayoría de los casos. Suelen ser bastante útiles para hacer "botoneras" que ocupan todo el ancho (o alto) de una zona de la pantalla.
lokoxumusu
17/12/13, 19:00:19
Jooo, precisamente mi aplicación tiene orientación vertical y uso DP para los botones y etiquetas, pero no en todas las declaraciones de los RelativeLayout. Seguiré investigando a ver si hay otra opción...
yo creo que si quieres hacer eso, tienes que ajustar tamaño de los botones y layouts dependiendo de la densidad y tamaño de la pantalla.
Pero no estoy muy seguro, en mis apps me suelo utilizar layout_margin... para el margen, layout_alingParent.... para colocarlo donde quiero, osea centro, esquina derecha, esquina superior, etc, layout_centerHorizontal, vertical.. etc, pero lo cierto es que si meto la misma app en el movil y en la tablet, los 50dp siguen siendo 50dp y el botón donde en un nexus 4 está de maravilla en la tablet con 8' y similar resolución se hace pequeño.
Leete esto, que lo explica, siento no poder ayudarte en más pero es que por ahora no lo he necesitado.
Android Screen Support (http://developer.android.com/guide/practices/screens_support.html)
Edito: Estuve mirandolo por encima, y según parece puedes hacer diferentes layouts para distintos tamaños de dispositivos.
res/layout/my_layout.xml // layout for normal screen size ("default")
res/layout-small/my_layout.xml // layout for small screen size
res/layout-large/my_layout.xml // layout for large screen size
res/layout-xlarge/my_layout.xml // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation
no se si hay una solución mejor, pero por ahora es lo que se :D
vBulletin® v3.8.1, Copyright ©2000-2025, Jelsoft Enterprises Ltd.