如何在.Net Maui中同时禁用导航栏后退按钮和物理andro
2022-08-14 本文已影响0人
蜗牛是不是牛
我发现有时我需要阻止用户返回主页,在本文中,我以主页和登录页面为例展示了一种快速实现该功能的方法。这个想法是,一旦用户退出应用程序,他们就不能使用导航栏上的后退按钮或大多数 Android 手机附带的物理按钮。让我们看看如何做到这一点!
第一步!
将“NoHistory =true”添加到您的 MainActivity.cs ActivityAttribute for Android
[Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true,NoHistory =true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)]

这是退出登录页面后页面通常的样子
- 在要禁用 NavigationBar Back Button 的页面上,复制以下覆盖方法。
这将进入页面的 XAML 代码以删除导航栏后退按钮。我使用 IsEnabled = "False" 禁用并使用 "IsVisible"="False" 使其对用户完全不可见。
<Shell.BackButtonBehavior>
<BackButtonBehavior IsEnabled="False" IsVisible="False"/>
</Shell.BackButtonBehavior>
这就是它对用户的看法,用户不能使用导航栏导航回来。现在让我们禁用物理按钮。

- 禁用 Android 上的物理后退按钮。
在 iOS 上停止在第 2 步就足够了,但在 Android 上,我们仍然有一个物理后退按钮。我们如何防止用户导航回来?……就是这样。
在要禁用后退按钮的页面中覆盖以下方法。
protected override bool OnBackButtonPressed()
{
return true;
}