【问题标题】:How to change icon of Secondary Toolbaritem Xamarin Forms如何更改 Secondary Toolbaritem Xamarin Forms 的图标
【发布时间】:2020-05-22 15:53:00
【问题描述】:

我正在尝试将自定义图标设置为 ContentPage 上的“次要”订单Toolbaritem,但该图标每次都在 Android 上呈现为 3 点 /dotted-list 图标(避风港'没有部署到 iOS,没有理由怀疑它有什么不同)。

我的代码很简单

<Toolbaritem Order="Secondary"
Icon="img.png"/>

我想保留Toolbaritem的下拉列表功能。

【问题讨论】:

    标签: c# android visual-studio xaml xamarin.forms


    【解决方案1】:

    那个 3 点图标(Kebab 菜单图标)是一个菜单图标。 Order="Secondary" 将工具栏项移动到辅助表面,在 Android 上,辅助表面是烤肉串菜单。 microsoft docs 对次要表面上的工具栏项目有这样的看法:

    将 Order 属性设置为 Secondary 的 ToolbarItem 对象中的图标行为在不同平台上不一致。避免对出现在二级菜单中的项目设置 IconImageSource 属性。

    在 Android 上,项目放置在 kebab 菜单中并且不显示图标,而在 iOS 上,辅助项目放置在主工具栏下方并显示图标。我不确定 UWP,我目前没有办法测试它。如果您想要在所有平台上与图标保持一致的外观,则必须实现自己的工具栏。

    编辑:ThisXamarin.Forms git 问题正是要求该功能。问题似乎很老,但它仍然打开并且仍然有一些活动,所以也许有一天可以将图标添加到 android 上的辅助 ToolbarItem。与此同时,他们建议使用workaround - 使用带有“Kebab 菜单”徽标的主ToolbarItem,单击该徽标会切换自定义ListView 菜单上的IsVisible 属性,该菜单定位为RelativeLayout,您的菜单应该在哪里。

    【讨论】:

    • UWP 不再受支持。项目显示在“下拉”菜单中,我知道图标没有显示,这就是我创建这个线程的原因。应该有一种方法可以在不使用自定义渲染器的情况下实现这一点。
    • 我并不关心它在 iOS 上的外观,我只想让它首先在 Android 上运行。 iOS 有一些奇怪的行为
    • 不再支持 UWP 是什么意思?见this。通过 Xamarin.Forms git 查看,似乎没有办法开箱即用地做你想做的事情。更糟糕的是,似乎没有干净的方法来实现自定义 ToolbarItem 渲染器,因为渲染器不用于 ToolbarItem。
    • UWP 仍在 Windows 10 和 IoT 中广泛使用
    猜你喜欢
    • 1970-01-01
    • 2015-05-21
    • 1970-01-01
    • 2018-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多