[Windows Phone 8.1 TIP] Gestionar la barra de sistema

Hola a todos!

Existe un tema tan ignorado en el desarrollo de aplicaciones para Windows Phone, por parte de los propios desarrolladores, que incluso parece que se trate de algún tipo de tabú social auto impuesto. Hablo de la barra del sistema. esa pequeña franja de apenas 20 píxeles de alto, donde Windows Phone muestra la hora, la cobertura y otras notificaciones.

Generalizando, que nunca es bueno, encontramos dos formas típicas de gestionar la barra de sistema. Existen desarrolladores que simplemente no la gestionan. Ese espacio no es suyo, no les importa y no se molestan ni siquiera en mirarlo. Luego están los “acaparadores”, los que quieren cada píxel de la pantalla para ellos mismos. Estos le prestan atención a la barra del sistema el tiempo suficiente para comprobar que su código ha hecho efectivamente su trabajo: ocultarla para siempre.

Personalmente creo que ni unos ni otros tienen razón. Al menos no siempre. Como usuario, tener la barra de sistema con sus notificaciones y la hora, me conserva en la aplicación activa. Si tengo que salir de la aplicación solo por querer ver la hora o si tengo conexión WiFi, quizás no vuelva a entrar. Por otro lado, ver la barra de sistema con fondo negro y letras blancas, o viceversa, pegada a una app muy bien diseñada… es algo chocante… que hace deslucir toda la aplicación.

Y digo que es una pena, por lo extremadamente sencillo que es gestionarla. En Windows Phone 8.1 existe una clase llamada StatusBar. En ella encontraremos un método estático, GetForCurrentView, que nos devolverá la instancia de StatusBar para la ventana actual, nuestra aplicación.

Una vez hecho esto, tenemos propiedades como BackgroundColor y ForegroundColor que nos permiten definir el color de fondo y de letra de nuestra barra de sistema, pudiendo adaptarla a los colores usados en la aplicación:

var statusBar = StatusBar.GetForCurrentView();
statusBar.BackgroundColor = (Color)Resources[«BackgroundColor»];
statusBar.ForegroundColor = (Color)Resources[«ForegroundColor»];

De esta forma integramos la propia barra en el diseño de la aplicación y hacemos que de la impresión de que forma parte de la misma:

image

Con solo tres líneas de código integramos la barra perfectamente. Pero además StatusBar incluye una propiedad ProgressIndicator, que nos permite mostrar una barra de progreso indeterminada en la cabecera, así como un mensaje.

También tenemos a nuestra disposición métodos para mostrar y ocultar la barra de estado: ShowAsync y HideAsync.

Y nada más por hoy… No seais desarrolladores perezosos y prestad atención a estos detalles jejeje.

Un saludo y Happy Coding!

Deja un comentario

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