Esempio n. 1
0
 /// <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();
     });
 }
Esempio n. 2
0
        /// <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();
        }
Esempio n. 3
0
        /// <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();
        }
Esempio n. 4
0
 /// <inheritdoc/>
 protected override void OnResume()
 {
     // Aplica a aparência
     AparenciaHelper.AplicarAparencia();
     this.RequestedThemeChanged += this.App_RequestedThemeChanged;
 }
Esempio n. 5
0
 /// <inheritdoc/>
 protected override void OnSleep()
 {
     AparenciaHelper.AplicarAparencia();
     this.RequestedThemeChanged -= this.App_RequestedThemeChanged;
 }