我想更改某些视图上的状态栏颜色。
我找到了这个解决方案https://github.com/yuv4ik/XFDynamicStatusBarAppearance
但它仅适用于 NavigationPage。
我不需要从我的应用程序导航页面...
public App()
{
InitializeComponent();
MainPage = new MainPage();
}
Run Code Online (Sandbox Code Playgroud)
这是我的尝试...
var statusBarStyleManager = DependencyService.Get<IStatusBarStyleManager>();
MainCarousel.PositionChanged += (sender, e) =>
{
switch (e.CurrentPosition)
{
case 1:
Device.BeginInvokeOnMainThread(() =>
{
Xamarin.Forms.Application.Current.MainPage.SetValue(Xamarin.Forms.NavigationPage.BarBackgroundColorProperty, Color.DarkCyan);
//((Xamarin.Forms.NavigationPage)Xamarin.Forms.Application.Current.MainPage).BarBackgroundColor = Color.DarkCyan;
statusBarStyleManager.SetDarkTheme();
});
break;
case 0:
case 2:
Device.BeginInvokeOnMainThread(() =>
{
Xamarin.Forms.Application.Current.MainPage.SetValue(Xamarin.Forms.NavigationPage.BarBackgroundColorProperty, Color.LightGreen);
statusBarStyleManager.SetLightTheme();
});
break;
default:
break;
}
};
Run Code Online (Sandbox Code Playgroud)
如何更改状态栏颜色?