如何在xamarin表单中隐藏android(back,home)的底栏?

ana*_*and 6 android xamarin.android xamarin.forms

如何在xamarin表单中永久隐藏底部的android栏(后退按钮,主页按钮)?我尝试了一些代码,但它暂时隐藏了它.当我触摸屏幕时,它再次显示.但我想完全隐藏它.

DrO*_*bey 13

我很欣赏我在这个回答的时候已经很晚了,但是我觉得我已经把这个放在这里,因为其他任何人都曾经有过一段时间我曾试图解决这个问题.

我的Droid MainActivity现在看起来像这样:

protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);
        global::Xamarin.Forms.Forms.Init(this, bundle);

        //====================================
        int uiOptions = (int)Window.DecorView.SystemUiVisibility;

        uiOptions |= (int)SystemUiFlags.LowProfile;
        uiOptions |= (int)SystemUiFlags.Fullscreen;
        uiOptions |= (int)SystemUiFlags.HideNavigation;
        uiOptions |= (int)SystemUiFlags.ImmersiveSticky;

        Window.DecorView.SystemUiVisibility = (StatusBarVisibility)uiOptions;
        //====================================

        LoadApplication(new Pages.App());
    }
Run Code Online (Sandbox Code Playgroud)

评论的平等之间的那一点是最佳点.理想情况下,还需要在重写OnStart和OnResume方法以及OnCreate中调用它,以确保标志保持设置.

如果您使用"Immersive"而不是"ImmersiveSticky"作为最后一个标志,它将使顶部状态和底部系统导航栏根据需要消失,但是当它们重新出现时(例如,从屏幕顶部向下拖动)底部不会再消失.因此,使用"ImmersiveSticky"是小孩.