Splash screen animato nelle applicazioni Windows Phone

di Cristian Civera, in Windows Phone,

Lo splash screen è quell'immagine che appare all'avvio dell'applicazione e "intrattiene" l'utente durante il caricamento iniziale dell'applicazione. Il tempo di visualizzazione che trascorre parte dalla pressione dell'utente sul nome dell'app, fino a quando la prima pagina è stata caricata e visualizzata. Per caricamento intendiamo quelle attività inerenti all'interfaccia e non rientrano attività asincrone come le chiamate HTTP o su altri thread.

Ci sono app però, che per mostrare la prima pagina necessitano di effettuare anche questo genere di operazioni asincrone, e quindi viene utile mostrare all'utente lo splash screen anche durante tali attività. Il trucco per raggiungere questo obbiettivo consiste nell'inserire nella prima pagina di navigazione la stessa immagine dello splash screen, e in essa avviare tutte le attività asincrone. Preparate tutte le informazioni e memorizzate in classi statiche, o oggetti condivisi tra le pagine, possiamo in automatico navigare alla seconda pagina, che di fatto è la vera pagina iniziale. In essa è fondamentale scrivere le seguenti righe di codice:

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
  base.OnNavigatedTo(e);

  while (this.NavigationService.CanGoBack)
    this.NavigationService.RemoveBackEntry();
}

In questo modo l'utente, se preme back, esce dall'applicazione e non torna alla pagina di splash screen, come è normale che sia.

A questo punto possiamo scegliere di attuare alcuni piccoli accorgimenti che mirano a rendere il più leggero possibile l'avvio dell'app, in modo da visualizzare immediatamente la pagina di splash screen. Essi sono:
- Mettere il minore numero possibile di risorse nel file App.xaml;
- Impostare tutte le immagini con la build action su "Content" e non su "Resource";
- Eseguire nel costruttore o nel metodo OnNavigatedTo della pagina di splash screen, solo il codice necessario per avviare su un altro thread le operazioni di preparazione dei dati.

Seguite queste istruzioni possiamo, nella pagina di splash screen, inserire animazioni il cui primo fotogramma corrisponda alla immagine di splash screen, in modo da rendere totalmente trasparente all'utente il nostro trucco. Infine, se utilizziamo animazioni che lavorano solo su RenderTransform e non sul layout, otteniamo animazioni fluide che non subiscono rallentamenti a causa dall'attività in background di download ed elaborazioni dei dati.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi