【发布时间】:2019-11-07 07:14:29
【问题描述】:
我正在 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);,那么导航栏和标题栏(带有汉堡菜单)都会消失!有没有办法用后退按钮隐藏导航栏但保留主/详细标题栏(带汉堡菜单)?
【问题讨论】:
-
什么是汉堡菜单不再可见。只剩下标题了?您可以添加更多代码或屏幕截图吗?正如 Jason 所说,一个 NavigationPage 实例对您来说就足够了。
-
你在真机上测试过吗?
-
对不起,我没有看到你的评论。不,我没有在真实设备上测试过。从我的其他评论中复制/粘贴:'如果您在 VS2017/2019 中创建新的跨平台移动应用程序 (Xamarin.Forms),您可以看到效果。生成的应用程序有一个包含项目列表的主/详细信息页面。如果您点击一个项目,您将进入项目详细信息表单。发生这种情况时,您会失去主/详细汉堡菜单。您可以通过在 NavigationPage 中包装详细信息页面来避免这种情况,但是这会显示一个额外的后退按钮栏(在我的原始屏幕截图中可见)'。
-
我想要达到的效果是让 Master/detail 菜单始终可用,即使 Detail 页面导航到其他地方。如果我将详细信息页面包装到 NavigationPage 中,这实际上效果很好......但我得到了两个标题栏。
标签: xamarin xamarin.forms xamarin.android