相关疑难解决方法(0)

如何在没有导航页面的情况下更改状态栏颜色

我想更改某些视图上的状态栏颜色。

我找到了这个解决方案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)

如何更改状态栏颜色?

c# xamarin.ios xamarin.android xamarin xamarin.forms

5
推荐指数
2
解决办法
4581
查看次数