Xamarin Forms ToolbarItem 文本(仅)未显示在 Android 上(仅)

Xamarin Forms ToolbarItem text (only) is not displaying on Android (only)

我有一个适用于 Android 和 UWP 的 Xamarin Forms 应用程序。 (我还没有尝试 iOS。)我有以下 ToolbarItem:

<ContentPage Title="Debug" ...  >

    <ContentPage.ToolbarItems>
        <ToolbarItem IconImageSource="Question_16x.png" Text="Help" Clicked="OnHelpPressed" Order="Primary" Priority="0"/>
    </ContentPage.ToolbarItems>
...

在 UWP 上它按我预期的那样工作:

但是在 Android 上,无论是 Android 模拟器还是三星 phone,我只看到一个非常模糊的问号图标,没有文本“帮助”:

如果我删除图标,文本就会显示。

在这两个平台上,单击或点击项目会按预期驱动 Clicked 方法。它在两个项目中是完全相同的图标。

我该如何解决?

在 Android 和 iOS 上,您可以使用以下代码显示文本和图标:

<ContentPage.ToolbarItems>
    <ToolbarItem IconImageSource="Question_16x.png" Order="Primary" Priority="0"/>
    <ToolbarItem Text="Help"Clicked="OnHelpPressed" Order="Primary" Priority="0"/>
</ContentPage.ToolbarItems>

要使图标不那么“模糊”,请使用更大的图标位图。

这是一个问号,设计用于在高 DPI 设备上显示高分辨率(它比需要的分辨率高;如果需要,请缩小它):

来源于Wikimedia - Icon-round-Question_mark.jpg.

--- 要查看更多图标,请转到 Wikimedia Category:icons。浏览起来不是最方便的;更容易 google 你想要什么:维基媒体图标问号 ---

将此文件放在 YourProjectName.Android\Resources\drawable 文件夹中。 在项目的解决方案资源管理器窗格中,右键单击该文件夹,“添加现有项”,然后浏览到该文件。这会将 Build Action 设置为 "AndroidResource".

如果您在 paint app 中检查该文件,您会看到问号图片周围有一些透明区域“填充”。

这是根据 Material Design icons in app bar / Specs - Mobile。要进行调整,请在绘图应用程序中使用“Image / Canvas Size”来更改填充量。

已在 xamarin-forms-samples/UserInterface/ToolbarItemDemos 中测试。