/// <summary> /// Evento para trocar a aparência do app de acordo com o estado deste /// </summary> /// <param name="sender">Objeto sender</param> /// <param name="e">Parâmetro e</param> private void App_RequestedThemeChanged(object sender, AppThemeChangedEventArgs e) { MainThread.BeginInvokeOnMainThread(() => { AparenciaHelper.AplicarAparencia(); }); }
/// <summary> /// Inicia uma nova instância da classe <see cref="App" /> /// </summary> public App() { // Define a cultura CultureInfo userCulture = new CultureInfo("pt-BR"); CultureInfo.DefaultThreadCurrentCulture = userCulture; Thread.CurrentThread.CurrentCulture = userCulture; Thread.CurrentThread.CurrentUICulture = userCulture; // Register Syncfusion license SyncfusionLicenseProvider.RegisterLicense(AppConstants.SyncfusionLicense); // Light/Dark Theme Xamarin.Forms.Device.SetFlags(new string[] { "AppTheme_Experimental" }); // Inicializa componentes this.InitializeComponent(); // Aplica a aparência AparenciaHelper.AplicarAparencia(); // Define a cor da barra de status, de acordo com a platafaorma e tema DependencyService.Get <IStatusBarPlatformSpecific>().SetStatusBarColor( Application.Current.RequestedTheme == OSAppTheme.Light ? (Color)Application.Current.Resources["HeaderBarBackgroundColorLight"] : (Color)Application.Current.Resources["HeaderBarBackgroundColorDark"]); // Define a região default para os serviços da AWS AWSConfigs.AWSRegion = RegionEndpoint.SAEast1.SystemName; // Página principal this.MainPage = new AppShell(); }
/// <summary> /// Altera a aparência do app conforme selecionado /// </summary> /// <param name="sender">Objeto sender</param> /// <param name="e">Parâmetro e</param> private void radioButtonAparencia_CheckedChanged(object sender, CheckedChangedEventArgs e) { if (!e.Value) { return; } // Obtém valor selecionado string val = (sender as RadioButton)?.Content as string; if (string.IsNullOrWhiteSpace(val)) { return; } switch (val) { // Aparência clara case "Claro": SettingsHelper.Aparencia = 1; break; // Aparência escura case "Escuro": SettingsHelper.Aparencia = 2; break; // Aparência do sistema/padrão default: SettingsHelper.Aparencia = 0; break; } // Aplicar aparência AparenciaHelper.AplicarAparencia(); }
/// <inheritdoc/> protected override void OnResume() { // Aplica a aparência AparenciaHelper.AplicarAparencia(); this.RequestedThemeChanged += this.App_RequestedThemeChanged; }
/// <inheritdoc/> protected override void OnSleep() { AparenciaHelper.AplicarAparencia(); this.RequestedThemeChanged -= this.App_RequestedThemeChanged; }