Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: NullPointerException en 05 de Abril de 2013, 10:34:20 PM

Título: Duda multiresolución en Android
Publicado por: NullPointerException en 05 de Abril de 2013, 10:34:20 PM
Hola, pese a que realicé algun trabajo en android, no llegué a tocar librerías puras y me siento un poco noob en esto xD.

Veréis, quiero hacer una GUI con el propio Android, utilizando layouts y buttons, esas cosas.

El problema es que veo el layout y en algunas pantallas virtuales se ve bien y en otras se ve todo alargado o descolocado.

Estuve leyendo un poco y hay un problema: Depende de 2 parámetros, que són los dpi y la resolución (o el aspect ratio). Por ejemplo, en 240x320 ldpi se me ve como algo aplastadete y en 240x400 ldpi se me ve bien.

Sé que se pueden hacer varios layouts por resolución, pero mi pregunta són:

1. ¿Cuántos habría que hacer aproximadamente?

2. ¿Qué parámetros habría que tomar en cuenta, los dpi o la resolución?

Gracias por adelantado.
Título: Re:Duda multiresolución en Android
Publicado por: bnl en 06 de Abril de 2013, 01:41:14 PM
Yo utilizo dos definiciones de estilos distintas: uno para moviles y otro para tablets. En el de tablets pongo las letras mas grantes, los botones, separacion entre elementos, etc
En cuanto al aspect ratio yo no creo diferentes layouts ni estilos en funcion del aspect ratio. Simplemente intento que quepa todo en los dispositivos menos alargados sin que se dejen de mostrar elementos. En los dispositivos mas alargados habra mas espacio entre los distintos elementos.
Título: Re:Duda multiresolución en Android
Publicado por: NullPointerException en 06 de Abril de 2013, 02:49:50 PM
Vale, entonces tu como lo harias, un layout normal y el otro que seria, large o xlarge?
Título: Re:Duda multiresolución en Android
Publicado por: bnl en 06 de Abril de 2013, 04:49:35 PM
Mas que layouts creo que lo que interesa es crear diferentes estilos. El layout seria el mismo

Por otro lado xlarge y large antes de la version 3.0 no estaban bien definidos y a partir de la 3.2 estan deprecated.

Yo utilizo "values-sw600dp" que hace referencia a los dispositivos que tienen mas de 600 dp de ancho (mas que de ancho es de la dimension mas grande de las dos independientemente de si estas en modo vertical o apaisado)
Título: Re:Duda multiresolución en Android
Publicado por: NullPointerException en 06 de Abril de 2013, 04:53:29 PM
Pero apra versiones anteriores (menores de la 3.0) como defines las dimensiones con el sw? En teoria no se podria, por eso uso el large y xlarge
Título: Re:Duda multiresolución en Android
Publicado por: bnl en 06 de Abril de 2013, 05:42:37 PM
En los dispositivos con versiones anteriores a la 3.2 no te cogeria el values-sw600dp y cogeria el values normal. Sin embargo esos no serian tablets asi que no hay problema en que cojan el values normal.
Título: Re:Duda multiresolución en Android
Publicado por: NullPointerException en 06 de Abril de 2013, 06:38:37 PM
Interesante, entonces basta con el normal y el values sw-600.

Y que tamaño de fuente seria recomendable? (o de letra)
Título: Re:Duda multiresolución en Android
Publicado por: bnl en 06 de Abril de 2013, 06:52:28 PM
Lo mejor es que pruebes a ver que tal se te ven los distintos elementos en cada dispositivo. Y para un mismo dispositivo no tienen por que ser las letras de diferentes controles del mismo tamaño.

Yo para los botones del menu estoy poniendo 16dp para moviles y 20dp para tablets
Título: Re:Duda multiresolución en Android
Publicado por: NullPointerException en 06 de Abril de 2013, 07:00:39 PM
Cita de: bnl en 06 de Abril de 2013, 06:52:28 PM
Lo mejor es que pruebes a ver que tal se te ven los distintos elementos en cada dispositivo. Y para un mismo dispositivo no tienen por que ser las letras de diferentes controles del mismo tamaño.

Yo para los botones del menu estoy poniendo 16dp para moviles y 20dp para tablets

Vale, más que nada lo digo porque los botones y las letras a veces quedan descompensados
Título: Re:Duda multiresolución en Android
Publicado por: bnl en 06 de Abril de 2013, 07:41:13 PM
Lo mejor es probar con bastantes dispositivos con diferentes caracteristicas. Lo que se ve bien en un dispositivo con una resolucion se puede ver mal en otro con la misma resolucion y distinta densidad
Título: Re:Duda multiresolución en Android
Publicado por: NullPointerException en 06 de Abril de 2013, 07:47:08 PM
Eso es lo complicado, que hay muchos dispositivos con diversas resoluciones y tienes que tener en cuenta un montón de factores.

Sería más fácil si uno tuviera un layout predeterminado y hubiera alguna forma para reescalarlo al mismo aspect ratio.