Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Duda multiresolución en Android

Iniciado por NullPointerException, 05 de Abril de 2013, 10:34:20 PM

« anterior - próximo »

NullPointerException

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.

bnl

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.
Mi web: http://www.brausoft.com/
No sabían que era imposible, así que lo hicieron.

NullPointerException

Vale, entonces tu como lo harias, un layout normal y el otro que seria, large o xlarge?

bnl

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)
Mi web: http://www.brausoft.com/
No sabían que era imposible, así que lo hicieron.

NullPointerException

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

bnl

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.
Mi web: http://www.brausoft.com/
No sabían que era imposible, así que lo hicieron.

NullPointerException

Interesante, entonces basta con el normal y el values sw-600.

Y que tamaño de fuente seria recomendable? (o de letra)

bnl

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
Mi web: http://www.brausoft.com/
No sabían que era imposible, así que lo hicieron.

NullPointerException

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

bnl

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
Mi web: http://www.brausoft.com/
No sabían que era imposible, así que lo hicieron.

NullPointerException

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.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.