[Xojo 2025r1] Android ColorGroup y soporte mejorado de Modo Oscuro

A continuación encontrarás traducido al Castellano el artículo escrito por Paul Lefebvre y publicado originalmente en el Blog oficial de Xojo.

Con la llegada de Xojo 2025 Release 1, los proyectos de Android creados con Xojo añaden soporte para la clase ColorGroup y también mejora el soporte del Modo Oscuro, cuando se ejecuta la app sobre los dispositivos.

ColorGroup

Ahora disponible también para proyectos Android, los ColorGroup son un modo de contar con un color que puede diferenciar entre los modos Claro y Oscuro; es decir, asignar el color que se mostrará para un elemento determinado cuando el dispositivo esté configurado en modo claro… y que se muestre un color diferente para el mismo elemento, cuando el dispositivo esté configurado en modo oscuro. Hay tres tipos de ColorGroup: Single, Dual y Named. Añade un ColorGroup a tu proyecto utilizando Insert > ColorGroup.

Un ColorGroup en modo Single no es realmente un grupo, sino un mismo color que se mostrará tanto en los modos claro como oscuro. Un ColorGroup en modo Dual tiene la capacidad de asignar diferentes colores para cuando el dispositivo esté configurado en modo claro y cuando esté funcionando en modo oscuro. Un ColorGroup Named obtiene el color de entre los disponibles en el sistema o, en el caso de Android, el tema configurado para la app. Puedes ver las opciones disponibles en el submenu Android.

En la mayoría de los casos puedes utilizar los ColorGroup tal y como harías con los otros tipos de proyectos de Xojo. En el caso de los proyectos Android contarás con una opción adicional: el método ColorGroup.ToColor(). Dicho método te permite convertir de forma específica un ColorGroup a un color. Por lo general esto se realiza de forma automática mediante Operator_Convert, pero como el soporte para dicho operador aun no está maduro en Android, este método funciona como una solución alternativa que puedes utilizar cuando lo requieras.

Para aquellos controles que ofrecen una propiedad ColorGroup a través del panel Inspector, como pueda ser por ejemplo el caso de MobileButton.CaptionColor, puedes emplear el selector de ColorGroup para elegir de forma manual un Color o bien un ColorGroup:

Además de utilizar los ColorGroup como elementos de proyecto, también puedes crear objetos ColorGroup en código. Por ejemplo:

Var cg1 As New ColorGroup()
cg1.AddColorPair(ColorGroup.Platforms.Mobile, Color.Blue, Color.Teal)

También puedes emplear los nombres de color proporcionados por el sistema de Android para crear un color Named. Por ejemplo:

Var cg2 As New ColorGroup()
cg1.AddNamedColor(ColorGroup.Platforms.Mobile, "holo_purple")

Accede a la documentación sobre Android sobre R.color para ver cuáles son los nombres de color disponibles. Recuerda que no todos los nombres están disponibles en todas las versiones del sistema operativo de Android.

Consulta la Documentación de Xojo para obtener más información sobre los ColorGroup.

Soporte de Modo Oscuro

Los ColorGroup son particularmente útiles cuando se emplean en combinación con el modo oscuro y, a partir de Xojo 2025r1, los proyectos de Android creados con Xojo se benefician también de contar con el interruptor de Modo Oscuro en el IDE, de modo que puedas obtener una previsualización sobre cómo se verá la interfaz de usuario cuando la app se ejecute sobre un dispositivo que cuente con dicho modo también activado.

Adicionalmente, son varios los controles que han visto mejorado su soporte de modo oscuro en tiempo de ejecución.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *