×
Namespaces

Variants
Actions
Revision as of 08:47, 2 July 2013 by hamishwillee (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Controlar el cambio de tema del móvil en las aplicaciones

From Nokia Developer Wiki
Jump to: navigation, search

Este articulo muestra cómo controlar desde el código de nuestras aplicaciones que el cambio de tema que pueda aplicar el usuario al terminal no afecte a la visualización de nuestra aplicación.

WP Metro Icon UI.png
SignpostIcon XAML 40.png
WP Metro Icon WP8.png
SignpostIcon WP7 70px.png
Article Metadata
CompatibilityArticle
Created: Santiago Porras Rodríguez (28 Apr 2013)
Last edited: hamishwillee (02 Jul 2013)

Contents

Introduction

Uno de los aspectos más complejos de controlar cuando diseñamos/desarrollamos una aplicación para Windows Phone es el cambio de tema del móvil. Por defecto, el emulador aparece con el tema “Oscuro” o “Dark”, con lo que, los textos salen en color blanco. Si lo cambiamos al tema “Claro” o “Light”, los colores se invierten.

Problema

Dado que lo que se busca al desarrollar una aplicación para Windows Phone es conseguir muchas descargas, es importante darle un aspecto agradable, con colores, fondo de pantalla, etc. Es aquí donde surge el "pequeño" problema donde si tememos una imagen de fondo oscura y el usuario cambia el tema del dispositivo a "Claro", seguramente habrá muchos textos que no se vean con buen contraste o incluso que directamente no se vean. Esta situación no sólo tiene consecuencias en los usuarios sino que durante la publicación, Microsoft no certificará nuestra aplicación para la Tienda de Aplicaciones para Windows Phone, ni aunque sea uno sólo de los textos.

Map-my-camera.png

Solución inicial y larga

La solución “larga” y “tediosa” consiste en asignar siempre un color a cada uno de los textos que hay en las aplicaciones, con lo que… si no lo vamos haciendo a medida que desarrollamos la aplicación, tendremos un largo tiempo de aburrimiento buscando, cambiando textos y probando de nuevo. Hasta aquí, el tiempo es asumible y se aprende a controlar el color siempre que se pone un control de texto o un estilo, pero ahora llega el gran problema: ¿Qué ocurre cuando tenemos un campo de introducción de datos como TextBox? Pues ocurre que se hace muy muy complicado controlarlo y que tendremos que buscar alguien que le haya dado solución al problema.

Solución rápida

Intentando solventar el problema del TextBox, encontré la solución en este artículo de WindowsPhoneGeek en el que se aplica un estilo a los TextBox para mantener siempre el mismo modo de visualización. ¿A priori parece la solución perfecta pero, volvemos a complicar la situación con un DatePicker y algún DigitLoopingSelector del Toolkit que siguen sin verse con el tema Claro del móvil

Solución final

Llegados a este punto, podríamos empezar a barajar la posibilidad de quitar el fondo o el diseño a las páginas en las que tengamos estos controles o crear un fondo de color inverso que poder sustituir cuando sea necesario, es decir, el mismo fondo pero en colores claros y controlar en código cuál de los dos mostrar en función del tema del móvil. Pero disponemos de una solución que hace innecesarios todos los esfuerzos anteriores, incluído el estilo aplicado a los TextBox, Jeff Wilcox ha creado una solución que se puede encontrar en Nuget con la que podemos forzar a nuestra aplicación para que mantenga el tema que nosotros quedamos Oscuro o Claro, con lo que no tendremos que preocuparnos de si algún control de texto se nos ha quedado sin asignar color o si hemos añadido un control del toolkit y no podemos controlar su visualización en algún tema,… El ejemplo lo podéis encontrar aquí

This page was last modified on 2 July 2013, at 08:47.
97 page views in the last 30 days.
×