隐藏 3 个底部按钮 (Back/Home/Recent)(Android 全屏)

Hide 3 Bottom Buttons (Back/Home/Recent) (Android full screen)

我正在使用 .NET MAUI RC3 在 Android 设备(OS 版本 7.1.2,API 级别 25)上开发一个价格验证应用程序。

我已经设法使顶部的状态栏和 .NET MAUI 导航栏消失,使用 Shell.NavBarIsVisible="False",但是,我一直试图禁用Android底部导航栏:

我试过:

我已经在 MainActivity 中设置了这个,但它只删除了顶部的状态栏:

public class MainActivity : MauiAppCompatActivity
{
    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        this.Window.AddFlags(Android.Views.WindowManagerFlags.Fullscreen);
    }
}

我找到的用于隐藏导航按钮的示例由于各种原因都因语法错误而失败:

如有任何帮助,我们将不胜感激。

谢谢,

约尔格

在MainActivity.cs中:

using Android.Views;
...
public class MainActivity : MauiAppCompatActivity
{
    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        this.Window.DecorView.SystemUiVisibility = (StatusBarVisibility)
            (SystemUiFlags.ImmersiveSticky | SystemUiFlags.HideNavigation |
             SystemUiFlags.Fullscreen | SystemUiFlags.Immersive);
    }
}

我不知道需要哪些标志,所以我都设置了。

已在较新的设备上进行测试。但在 API-25 设备上应该可以正常工作。

SystemUiVisibility 被标记为已弃用,但它仍然有效。
如果将 targetSdkVersion 设置为 API-31,则可以添加 if-test 以在可用的情况下使用 WindowInsetsController。 (虽然听起来您有特定的设备可以 运行 打开,但与您的情况无关。)

注意:targetSdkVersion 和 TargetFrameworkVersion 不必是 API-25;如果它们较新,那很好。不确定 Maui 如何设置 TargetFrameworkVersion。我认为 net6.0-android 默认为 API-31。导致您看到警告。