miércoles, 25 de julio de 2012

Evitar el giro de la pantalla

Los Smart Devices nos brindan la posibilidad de rotar el contenido de la pantalla al girar el dispositivo para poder tener una vista diferente, ampliada o mejorara del contenido de las aplicaciones.
Cuando desarrollamos aplicaciones para Smart Devices, incluso podemos implementar comportamientos diferentes de la aplicación según la "posición" en que esté el dispositivo. En GeneXus esto se hace a través de los diferentes tipos de Layout que se pueden definir en un panel, pudiendo definir Layouts diferentes según la orientación del dispositivo (Portrait, Landscape), además de para las diferentes plataformas y tamaños.

A veces pasa lo contrario, que no queremos que el contenido de la pantalla rote, porque esto hace que el diseño de la misma no quede muy agradable.

Por ejemplo, tengo definida esta pantalla :


Pero al rotarla, el contenido queda con un diseño que no nos agrada :


La solución es no dejar que el contenido de la pantalla rote. Si no hemos modificado en nada los tipos de Layout del panel de la pantalla, de forma predeterminada el que se edita es el correspondiente a AnyPlatform-AnySize-AnyOrientation

Lo que vamos a hacer es dejar solamente un Layout para la orientación Portrait. Esto requerirá tres pasos:

1. Crear el Layout AnyPlatform-AnySize-Portrait


2. GeneXus permite crear un Layout a partir del diseño de otro, por lo que vamos a indicar que lo inicialice como el Layout AnyPlatform-AnySize-AnyOrientation


3. El paso final será eliminar el Layout 
AnyPlatform-AnySize-AnyOrientation


De esta manera el contenido del Layout no se rotará al girar el dispositivo porque no existe un Layout para la orientación Landscape (o AnyOrientation).

No hay comentarios:

Publicar un comentario en la entrada