You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xamarin Forms中ToolbarItem仅在Android端不显示文本如何解决?

问题原因

这是Xamarin.Forms适配Android平台的默认行为差异+资源适配不到位共同导致的:

  1. Android原生Toolbar默认不会同时展示Primary层级ToolbarItem的图标和文字
  2. 图标模糊是因为仅使用了单尺寸16x的小图标,未适配Android多dpi的资源规范

修复步骤

1. 解决文字不显示问题,二选一即可:

方案1:全局修改Android端Toolbar样式

在Android项目的Resources/values/styles.xml中,找到你的应用主题对应的Toolbar样式,添加showTextWithIcon属性:

<style name="MyToolbarStyle" parent="Widget.AppCompat.Toolbar">
    <item name="showTextWithIcon">true</item>
</style>

随后在MainActivity的Toolbar配置中应用该样式即可。

方案2:仅针对当前ToolbarItem修改,无需全局改动

在XAML文件头部添加Android平台特定命名空间:

xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core"

修改ToolbarItem的定义,添加平台附加属性:

<ToolbarItem IconImageSource="Question_16x.png" 
             Text="Help" 
             Clicked="OnHelpPressed" 
             Order="Primary" 
             Priority="0"
             android:ToolbarItem.ShowTextOnToolbar="Always"/>

2. 解决图标模糊问题

Android需要不同分辨率的图标适配不同密度的屏幕,你需要将对应尺寸的图标放到Android项目对应的资源目录下:

  • drawable-mdpi:16x16px
  • drawable-hdpi:24x24px
  • drawable-xhdpi:32x32px
  • drawable-xxhdpi:48x48px
  • drawable-xxxhdpi:64x64px
    所有图标命名保持一致为Question_16x.png即可,系统会自动根据设备分辨率选择对应尺寸的图标。

内容的提问来源于stack exchange,提问作者Charles

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 07:06:04