Dark mode e selezione dei temi in un'applicazione Xamarin Forms

di Morgan Pizzini, in Windows 10,

La dark mode è una feature molto richiesta, ma essendo stata messa a disposizione solo nell'ultimo anno, il lavoro del team di Xamarin è stato quello di facilitare l'implementazione nelle applicazioni esistenti. Dalla versione 4.6.0.967 (e con supporto minimo ad iOS 13/Android 10) è possibile stabilire lo stile di un oggetto attraverso la property AppThemeBinding.

<Style TargetType="ContentPage" ApplyToDerivedTypes="True">
    <Setter Property="BackgroundColor"
        Value="{AppThemeBinding Dark={StaticResource BackgroundColor_Dark},
            Light={StaticResource BackgroundColor_Light}}"/>
</Style>

E' stata inoltre aggiornata la modalità di setting del tema, passando da AppThemeColor ad UserAppTheme:

Application.Current.UserAppTheme = OSAppTheme.Dark;
Application.Current.UserAppTheme = OSAppTheme.Light;

Eventualmente è possibile non selezionare nessun tema, lasciando al sistema operativo decidere quale adottare:

Application.Current.UserAppTheme = OSAppTheme.Unspecified;

Tramite il metodo RequestThemeChanged possiamo capire quando, ad esempio, l'utente ha deciso di specificarne uno alternativo:

Application.Current.RequestedThemeChanged += (s, a) => { //... };

Per poter utilizzare questa funzionalità, considerando che è ancora in preview, dobbiamo abilitare l'apposita feature flag all'avvio dell'app di Xamarin Forms:

Forms.SetFlags("AppTheme_Experimental");

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