예제 #1
0
        public void SetStatusBarColor(Color color)
        {
            if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
            {
                var window = global::Xamarin.Essentials.Platform.CurrentActivity.Window;

                if (ResourcesHelper.BestContrastFor(color) == Contrast.Dark)
                {
                    window.DecorView.SystemUiVisibility |= (StatusBarVisibility)SystemUiFlags.LightStatusBar;
                }
                else
                {
                    window.DecorView.SystemUiVisibility &= ~(StatusBarVisibility)SystemUiFlags.LightStatusBar;
                }

                var androidColor = color.AddLuminosity(-0.1).ToAndroid();
                window.SetStatusBarColor(androidColor);
            }
        }