首页 > 解决方案 > 如何防止 MasterDetailPage 顶部的附加导航栏(Android 上的 Xamarin)

问题描述

我在 Xamarin Forms (4.0) 中为 Android (Android 8.1) 创建一个应用程序。我的主页是 MasterDetailPage,我将详细信息页面设置为:

this.Detail = new NavigationPage(new SomePage());

当我想将详细信息导航到另一个页面时(以便“后退”按钮正常工作),我只是这样做:

this.Detail.Navigation.PushAsync(new NavigationPage(new SomeOtherPage());

这一切都很好,但我留下了一个带有后退按钮的附加导航栏:

如果我这样做NavigationPage.SetHasBackButton(this, false);,后退按钮会消失,但导航栏会留下,所以我的页面顶部有一个蓝色的大矩形。如果我这样做NavigationPage.SetHasNavigationBar(this, false);了,那么导航栏标题栏(带有汉堡菜单)都会消失!有没有办法用后退按钮隐藏导航栏但留下主/详细标题栏(带汉堡菜单)?

标签: xamarinxamarin.formsxamarin.android

解决方案


Xamarin Forms 似乎并不真正支持我尝试使其工作的方式。如果您将 Detail 导航到另一个页面,您实际上会失去对 MasterDetailPage 的 Master 部分的访问(至少在某些设备上)。我试图通过将目标详细信息页面包装到另一个 NavigationPage 中来避免这种情况在模拟器中工作,但这只是偶然。


推荐阅读