c# - 如何更改 Secondary Toolbaritem Xamarin Forms 的图标
问题描述
我正在尝试将自定义图标设置为 ContentPage 上的“次要”订单工具栏,但该图标每次在 Android 上都呈现为 3 点 /dotted-list 图标(尚未部署到 iOS,没有理由怀疑有什么不同)。
我的代码很简单
<Toolbaritem Order="Secondary"
Icon="img.png"/>
我想保留Toolbaritem的下拉列表功能。
解决方案
那个 3 点图标(Kebab 菜单图标)是一个菜单图标。Order="Secondary"
将工具栏项移动到辅助表面,在 Android 上,辅助表面是烤肉串菜单。微软文档对辅助表面上的工具栏项目有这样的说法:
将 Order 属性设置为 Secondary 的 ToolbarItem 对象中的图标行为在各个平台上不一致。避免在二级菜单中显示的项目上设置 IconImageSource 属性。
在 Android 上,项目放置在 kebab 菜单中并且不显示图标,而在 iOS 上,辅助项目放置在主工具栏下方并显示图标。我不确定 UWP,我目前没有办法测试它。如果您想要的是与所有平台上的图标保持一致的外观,您将必须实现自己的工具栏。
编辑:这个Xamarin.Forms git 问题正是要求该功能。问题似乎很旧,但它仍然打开并且仍然有一些活动,所以也许有一天可以将图标添加到 android 上的辅助 ToolbarItem。与此同时,他们建议了一种解决方法- 使用ToolbarItem
带有“Kebab menu”徽标的主菜单,当单击该徽标时,可以切换IsVisible
自定义ListView
菜单上的属性,该菜单位于RelativeLayout
您的菜单应位于的位置。