繁体   English   中英

如何以 xamarin 形式隐藏 android(返回,主页)的底部栏?

[英]how to hide bottom bar of android (back, home) in xamarin forms?

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

我很感激我在这个答案中迟到了,但我想我会把这个扔在这里给其他任何我试图解决这个问题的人。

我的 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());
}

注释等于之间的那一点是甜蜜点。 理想情况下,它还需要在重写的 OnStart 和 OnResume 方法以及 OnCreate 中调用,以确保标志保持设置。

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

此外,正如Ricardo Dias Morais所说,

某些操作系统“阻止”了这个沉浸式模式功能,我没有三星,但在 MIUI 中也会发生这种情况,对我来说,我必须在全屏模式设置中启用我想要的应用程序,对我来说是:显示 > 全屏模式> 然后启用需要全屏的应用

如果需要,我可以提供更多信息:)

如果要恢复状态和导航栏,只需设置:

Window.DecorView.SystemUiVisibility = StatusBarVisibility.Visible;

它对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM