protected virtual void UpdateStatusbarIconStyle(EStatusBarIconsMode mode) { switch (mode) { case EStatusBarIconsMode.Default: case EStatusBarIconsMode.Light: CrossCurrentActivity.Current.Activity.Window.DecorView.SystemUiVisibility |= (StatusBarVisibility)SystemUiFlags.Visible; break; case EStatusBarIconsMode.Dark: CrossCurrentActivity.Current.Activity.Window.DecorView.SystemUiVisibility |= (StatusBarVisibility)SystemUiFlags.LightStatusBar; break; default: throw new InvalidEnumArgumentException("Incorrect status bar icon mode exception throw (unhandled mode)"); } }
protected virtual void UpdateStatusbarIconStyle(EStatusBarIconsMode mode) { var page = Element as BaseContentPage; if (page.StatusBarVisibility == EStatusBarVisibility.Default || page.StatusBarVisibility == EStatusBarVisibility.Visible || page.StatusBarVisibility == EStatusBarVisibility.Transarent) { switch (mode) { case EStatusBarIconsMode.Default: case EStatusBarIconsMode.Dark: Device.BeginInvokeOnMainThread(() => UIApplication.SharedApplication.SetStatusBarStyle(UIStatusBarStyle.Default, true)); break; case EStatusBarIconsMode.Light: Device.BeginInvokeOnMainThread(() => UIApplication.SharedApplication.SetStatusBarStyle(UIStatusBarStyle.LightContent, true)); break; default: throw new InvalidEnumArgumentException("Incorrect status bar icon mode exception throw (unhandled mode)"); } } }