【问题标题】:Xamarin master detail page auto hamburgerXamarin 主详细信息页面自动汉堡包
【发布时间】:2018-04-15 02:04:48
【问题描述】:

我有一个带有主详细信息页面的 Xamarin 应用程序,我想在 ios、android 和 uwp 上拥有菜单的汉堡包图标。

现在我正在使用在 xamarin 网站上找到的示例来创建主详细信息页面。

在 android 上,图标可见,无需执行任何操作:

在 ios(和 UWP)上不可见:

为什么在 ios 和 UWP 上会有这种行为? 如何在所有三个平台上都有图标?

谢谢!

编辑:我没有包含任何图像,也没有用于 android,也没有用于 ios 和 UWP。

【问题讨论】:

  • 能否发布您用于 iOS 和 UWP 视图的代码?
  • @JacobBarnes 嗨,我所有的视图代码都在 PCL 解决方案中。这里是构成母版页的所有页面的链接ufile.io/y5azo
  • PCL 解决方案中不应包含 UI 代码,因为无法在各种设备之间共享。 PCL 旨在共享设备之间常用的代码,例如数据访问层。当您说所有视图代码都在 PCL 中时,我不确定您的意思是什么,因为那是行不通的。除非您刚刚将视图存储在 PCL 项目中,但如果是这种情况,请发布该代码。
  • 这里是完整代码:ufile.io/vk61o

标签: android ios xamarin master-detail hamburger-menu


【解决方案1】:

我测试了代码,发现是外部NavigationPage引起的。您当前将MasterDetailPage 嵌套在NavigationPage 中,导致切换按钮消失。

所以,解决方法很简单,只需修改LoginPage.xaml.cs中的以下代码行:

await Navigation.PushAsync(new MasterDetailAppPage());

到这里:

App.Current.MainPage = new MasterDetailAppPage();

更新:

在 iOS 中,xamarin 默认不提供切换按钮图标,您需要在 MasterPage 上手动设置。即在MasterDetailAppPageMaster.xaml:

<ContentPage 
         ...
         Icon="hamburger.png"
         Title="{sgat:Translate appName}">

并将您的图标图像作为资源添加到 iOS 项目的 Resources 文件夹中。但我已经在您的项目中看到了hamburger.png。所以你可以直接使用它。

【讨论】:

  • 您好,感谢您的回复。使用此代码,UWP 可以工作,但 ios 是一样的。 ibb.co/eBPJFw ibb.co/cj2ihb
  • 对不起,忘了说ios,你需要在你的母版页中手动设置图标。请检查我的答案更新。
  • 感谢您提供此解决方案!它的作品,但我需要添加所有ios格式的hamburger.png图标,如应用程序图标?
  • 是的,如果您希望您的应用支持所有ios设备,则需要添加所有ios格式的hamburger.png图标。
  • 谢谢!在 contentPage 的 Icon 属性中,我必须设置值“hamburger.png”,在资源文件夹中,我必须有文件“hamburger.png”、“hamburger-60@2x.png”、“hamburger-Small-40”。 png”等..?
猜你喜欢
  • 1970-01-01
  • 2018-04-27
  • 2016-09-22
  • 1970-01-01
  • 2016-09-20
  • 2014-09-26
  • 2019-07-19
  • 1970-01-01
  • 2017-04-13
相关资源
最近更新 更多