首页 > 解决方案 > XAMARIN - 是否可以在我的应用程序中使用默认/系统字体?

问题描述

我浏览了我的 3 台 Android 设备(SGS6、SGS20、H10)上的“/system/fonts”文件夹,将所有文件从那里下载到我的电脑上,对其进行分析,发现某些字体名称对于所有 3 台设备都是通用的 - AndroidClock、Carrois Gothic SC, Coming Soon, Cutive Mono, Dancing Script, Droid Sans Mono, Noto Naskh, Noto Sans, Noto Serif, Roboto, Roboto Black, Roboto Condensed, Roboto Condensed Light, Roboto Light, Roboto Medium, Roboto Thin。

问题 - 是否可以在我的 Xamarin 应用程序中使用其中任何一个而不明确绑定它们?如果我只是指定 myLabel.FontFamily = "Coming Soon" 并且这样会很好......但实际上这根本不起作用。:-(所以,我有点困惑 - 为什么?如果可能的话,让它以某种方式工作?...

我尝试在我的 Xamarin 应用程序中显示 10 个标签,所有标签都具有不同的 FontFamily 名称:AndroidClock、Carrois Gothic SC、即将推出、Cutive Mono、Dancing Script、Droid Sans、Droid Serif、Droid Sans Mono - 但所有标签都以相同的字体显示(我什至不确定该默认字体的名称是什么)。

我需要它仅适用于 Android。对iOS完全不感兴趣。有没有办法告诉 Xamarin 在设备上只使用可用的系统字体?

标签: androidxamarinfonts

解决方案


来自Xamarin Forms 中的字体

显示文本的控件可以将 FontFamily 属性设置为字体系列名称,例如“Times Roman”。但是,这仅在特定平台支持该字体系列时才有效。

有许多技术可用于尝试派生平台上可用的字体。但是,TTF(True Type Format)字体文件的存在并不一定意味着字体系列,并且通常包含不打算在应用程序中使用的 TTF。此外,安装在平台上的字体可以随平台版本而变化。因此,指定字体系列最可靠的方法是使用自定义字体。


推荐阅读