如何在xamarin.forms shell中使用状态栏?

时间:2020-08-13 07:47:20

标签: xamarin.forms

enter image description here

我不想在android中使用全屏,因为会出现错误。

我知道如何在ios中做到这一点。请教我如何在android中做到这一点。

1 个答案:

答案 0 :(得分:0)

我们可以使用消息中心来实现它。

在第一页.cs

在您的情况下,它应该是外壳

protected override void OnAppearing()
{
   base.OnAppearing();

   MessagingCenter.Send<Object>(this,"Hide");
                
}

protected override void OnDisappearing()
{
   base.OnDisappearing();

    MessagingCenter.Send<Object>(this, "Show");
}

在Android项目中-> MainActivity

 protected override void OnCreate(Bundle savedInstanceState)
    {
        TabLayoutResource = Resource.Layout.Tabbar;
        ToolbarResource = Resource.Layout.Toolbar;

        MessagingCenter.Subscribe<Object>(this, "Hide", (arg) => {

            Window.AddFlags(WindowManagerFlags.TranslucentStatus);
            Window.AddFlags(WindowManagerFlags.LayoutNoLimits);

        });

        MessagingCenter.Subscribe<Object>(this, "Show", (arg) => {

            Window.ClearFlags(WindowManagerFlags.TranslucentStatus);
            Window.ClearFlags(WindowManagerFlags.LayoutNoLimits);

        });

      


        base.OnCreate(savedInstanceState);

        Xamarin.Essentials.Platform.Init(this, savedInstanceState);
        global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
        LoadApplication(new App());
    }
相关问题