PDA

Ver la Versión Completa : App multi resolución (tipos de pantalla)


Fossy
22-01-2015, 10:16:40
Hola amigos:

Me gustaría saber que técnica empleáis vosotros para hacer una App cuyo diseño se vea bien en distintos tipos de resoluciones y pantallas (3,5", 4", 5", Tablets de 7,8,9 y 10", etc.).

A mi lo que se me ocurre es usar la combinación de Layouts con GridPanelLayout, pero esto no es factible al 100% porque el tamaño de iconos por ejemplo va bien en resoluciones intermedias pero a bajas resoluciones se descompone todo, y a altas resoluciones se "distancia" todo, no sé si me expico.

Me planteo la opción de usar el modo Master para el diseño normal de la App y luego ir haciendo modificaciones y retoques para cada resolución/pantalla en particular, pero igual esto es un trabajo de chinos y hay alguna forma mas sencilla que se me está escapando.

¿Cómo lo hacéis vosotros?.

Gracias!!

Neftali [Germán.Estévez]
22-01-2015, 12:42:42
Hola.
No comentas con qué versión de delphi estás trabajando.
El caso es que en la última está de suerte, pues en Delphi XE7 este problema se simplifica bastante si utilizas el "Multi Device Designer".

Aquí tienes algunos enlaces, aunque si buscas encontrarás más..

* Vídeo de funcionamiento (https://www.youtube.com/watch?v=QOfmoAtqh9E)
* Presentación de las características (https://docs.google.com/presentation/d/12LyAeTNNlyCXlwLUmghAQhMhUti1i9kAlmCcFjZVrbk/edit#slide=id.g3a05f7559_2_87)
* Entrada en la DocWiki (http://docwiki.embarcadero.com/RADStudio/XE7/en/Form_Designer)

Fossy
22-01-2015, 21:56:09
Gracias Neftali.

No es eso lo que preguntaba, de hecho, mi pregunta va en base a usar el modo Master.

Pregunto si hay algún sistema de autodimensionado estándar para no tener que ir haciendo modificaciones por cada resolución, o en su defecto, cómo lo hacéis vosotros.

Obviamente y agradeciéndote los enlaces, todo eso ya lo había visto.

A ver, básicamente pregunto por hacer un diseño directamente en Master y automáticamente se acople a todo tipo de resoluciones, usando Layouts y/o GridPanelLayouts, incluso combinando estos con otros componentes. Yo de hecho acabo de realizar una prueba con la combinación de estos dos componentes con buenos resultados, pero con descuadres en gráficos de tamaño fijo a los que no se les puede activar el Stretch (descuadraría el gráfico y su proporción). Sencillamente me gustaría saber que métodos adoptáis vosotros o si incluso no queda otra que ir retocando a mano en las distintas resoluciones/pantallas.

Gracias!!.

look
23-01-2015, 15:18:02
Gracias Neftali.

No es eso lo que preguntaba, de hecho, mi pregunta va en base a usar el modo Master.

Pregunto si hay algún sistema de autodimensionado estándar para no tener que ir haciendo modificaciones por cada resolución, o en su defecto, cómo lo hacéis vosotros.

Obviamente y agradeciéndote los enlaces, todo eso ya lo había visto.

A ver, básicamente pregunto por hacer un diseño directamente en Master y automáticamente se acople a todo tipo de resoluciones, usando Layouts y/o GridPanelLayouts, incluso combinando estos con otros componentes. Yo de hecho acabo de realizar una prueba con la combinación de estos dos componentes con buenos resultados, pero con descuadres en gráficos de tamaño fijo a los que no se les puede activar el Stretch (descuadraría el gráfico y su proporción). Sencillamente me gustaría saber que métodos adoptáis vosotros o si incluso no queda otra que ir retocando a mano en las distintas resoluciones/pantallas.

Gracias!!.

Hola amigo, puedes utilizar la propiedad de alineado SCALED, todos los componentes tienen esa propiedad, con eso me ha funcionado a mi , al menos en aplicaciones simples...

Saludos!

Fossy
24-02-2015, 18:35:02
Nada amigos, Scaled es muy útil para algunas cosas pero no para hacer un escalado masivo, ya que "estropea" la vista al modificar componentes con esta propiedad.

Ya no me planteo trabajar en modo Master estándar para que automáticamente se autoredimensione todo a la resolución que toque, sino que voy a PONER componentes al modo Master para luego ir por cada una de las resoluciones mas comunes retocando y posicionando a mano, yo creo que va a ser lo mas efectivo, por lo tanto lanzo una nueva pregunta... ¿Soléis trabajar así?, en caso afirmativo, ¿habéis tenido muchos problemas trabajando así?.

Otra duda..., acabo de setear el Form1 del modo Master a 800x480, resolución estándar de un Samsung Galaxy S2. He puesto los componentes en el modo Master y acto seguido he trabajado directamente con la plantilla de 4" Android para hacer pruebas, y cual es mi sorpresa que al compilar e instalar la App en el móvil, todo sale diferente y no coinciden las posiciones, y hablamos de 800x480 tanto en Delphi como en el Galaxy S2..., no entiendo cual es el problema :-?

Un saludote!!.

egostar
25-02-2015, 05:15:44
Nada amigos, Scaled es muy útil para algunas cosas pero no para hacer un escalado masivo, ya que "estropea" la vista al modificar componentes con esta propiedad.

Ya no me planteo trabajar en modo Master estándar para que automáticamente se autoredimensione todo a la resolución que toque, sino que voy a PONER componentes al modo Master para luego ir por cada una de las resoluciones mas comunes retocando y posicionando a mano, yo creo que va a ser lo mas efectivo, por lo tanto lanzo una nueva pregunta... ¿Soléis trabajar así?, en caso afirmativo, ¿habéis tenido muchos problemas trabajando así?.

Otra duda..., acabo de setear el Form1 del modo Master a 800x480, resolución estándar de un Samsung Galaxy S2. He puesto los componentes en el modo Master y acto seguido he trabajado directamente con la plantilla de 4" Android para hacer pruebas, y cual es mi sorpresa que al compilar e instalar la App en el móvil, todo sale diferente y no coinciden las posiciones, y hablamos de 800x480 tanto en Delphi como en el Galaxy S2..., no entiendo cual es el problema :-?

Un saludote!!.

Yo suelo hacer lo que comentas, a partir de la forma maestra, genero las vistas de las otras plataformas y coloco los objetos como pienso se ven mejor, en realidad no le veo gran problema ya que no es mucho el trabajo, en realidad es muy poco lo que se manipula.

Utilizar Layouts con la propiedad Align = Scaled me parece muy bueno, sin embargo pienso que es mejor tener el control de nuestras interfaces visuales.

Pero un ejemplo dice más que mil palabras....

http://www.mexistemas.com/imagenes/multi_devices.png

Saludos

Fossy
25-02-2015, 14:08:50
Perfectamente Egostar, muchísimas gracias!!.

Como tú bien dices, mas vale una imágen que mil palabras y es un aporte que nos vendrá a todos muy bien en el foro, ya que el tema este de resoluciones es algo que a buen seguro a mas de uno lo traerá de cabeza :o.

Pues está claro, ese es el método a seguir.

Gracias compañero!!!