Warning, this page is marked to be deleted!
Unofficial Content
  • This documentation is valid for:

Así como las aplicaciones Web hacen uso de looks & feels cada vez más sofisticados, las aplicaciones para Smart Devices también pueden exigir altos niveles de presentación; en GeneXus, para unos y otros esto se logra con el uso de Temas.

Creación del Tema

Para crear un Tema, como cualquier otro objeto, utilice la ventana de creación de objetos New Object. En ella seleccione el objeto Theme for Smart Devices y asígnele el nombre que desee. Para seguir adelante en las explicaciones crearemos como ejemplo un Tema llamado SDClassicBlue.

Nota: conceptualmente, el uso y aplicación de Temas tanto para web como para Smart Devices (o win) es el mismo; la diferencia entre ellos radica en la implementación a bajo nivel que llevan a dos ambientes tan distintos como Web y Win.

SD Themes Creating Theme

Luego de ésto, GeneXus abre el editor de Temas. Queremos por ejemplo que el fondo de todos los atributos sean de color azul, que la font de los atributos sea Verdana y de color blanco. Para ello, cambiamos en el tema, las siguientes propiedades de la clase Attribute:

  • Backgroundcolor = Blue
  • ForeColor =White
  • Font Family = Verdana

SD Themes Applying Blue Backgound

Aplicando el Tema

Ahora ya puede acceder a la instancia genérica del pattern para Smart Devices. Acceda a la misma desde el panel Preferences del Knowledge Base Navigator.

SD Themes Instance Pattern

Seleccione el ícono 'Any Platform' y en la propiedad Theme seleccione el theme SDClassicBlue, tal como se observa a continuación.

SD Theme Applying Theme in Any Platform Platform

De esta manera, todas las plataformas incluidas en la lista de la imagen asumirán el tema indicado; no obstante, cada una de estas plataformas posee su propia propiedad Theme.

Otro detalle es que siempre hay un tema asignado, aún cuando el desarrollador no haya especificado uno en forma explícita; éste será el tema Platform Default.

Aplicando la Class Attribute en List Layout

Ahora hay que indicar a los atributos que se quiere utilizar esta clase recién definida en el tema. Para ello, abrir el layout del WorKWithDevices  , Seleccionar el List, los atributos a los que se quiere aplicar esta clase, y en la propiedad Class = Attribute

SD Theme Applying Class Attribute in List Layout

Aplicando la Class Attribute en Detail Layout

Temporalmente para que los temas sean tomados en cuenta en el Detail del Layout, hay que configurar la propiedad Layout Enabled = True. Luego , al igual que en los atributos del list, en los atributos del detail, setear la propiedad Class = Attribute

Ejecutar y observar las pantallas como cambian

Jerarquías en los Temas

Dado que todas las plataformas manejan en la realidad el look & feel de forma independiente, podría tener un mayor impacto en este si se utilizara un theme específicamente creado para cada una de ellas, o al menos para la familia.

Para empezar, cada plataforma tiene una propiedad Theme la cual está destinada a incorporar un diseño específico para ella, que por ejemplo podría ser —siempre dentro de las posibilidades del dispositivo— el diseño que ha imaginado o creado el cliente que ha encargado la aplicación. Entonces, supongamos que luego de un tiempo hemos creado otro tema, pero esta vez específico para el iPAD, llamado iPADinGreenScale; iremos a la propiedad Theme de la Platform iPAD y escribiremos este nombre. 

SD Theme Applying Theme in iPAD Platform

A partir de aquí, el generador para iOS será forzado a considerar este Tema en vez del incluido en la plataforma General, como venía haciendo hasta ahora.

Nota: los Temas, así como otros valores presentes en las propiedades, son dependientes de la configuración de pantalla de cada plataforma. Por ejemplo, para iPhone solo es posible aplicar el valor “Small” a la propiedad Size, y para iPad este valor no aplica, siendo el que aplica “Large”. Entonces, si asignáramos el valor “Small” para iPad, GeneXus lo ignoraría e intentaría encontrar un valor válido en cualquiera de las otras plataformas cuyo valor de la propiedad “OS” fuera “iOS”; de no haber ninguna, GeneXus optará finalmente por el tema por defecto.

Last update: February 2024 | © GeneXus. All rights reserved. GeneXus Powered by Globant