因此,简而言之,我尝试设置Label.FontFamily属性,但它不会生效。
我对移动应用程序有一个非常简单的要求。不论系统设置中的字体家族是什么,正在开发的Android版本的应用程序都应始终以Roboto字体呈现文本。
这是无效的示例标记:
<Label VerticalOptions="CenterAndExpand"
HorizontalOptions="CenterAndExpand"
TextColor="White"
HorizontalTextAlignment="Center"
FontSize="46"
FontFamily="Roboto">Hello world!</Label>
我将系统字体设置为手机中预装的看起来很奇怪的一种叫做Travel的字体。我的设备上的所有内容均以该字体呈现,但不幸的是其中包含了问候标签,其代码已发布在此处。
我尝试了Roboto.ttf,而不是简单的Roboto。我尝试更改MainTheme
<style name="MainTheme" parent ="Theme.AppCompat.Light.NoActionBar">
<item name="android:textAllCaps">false</item>
<item name="android:windowNoTitle">true</item>
<item name="android:fontFamily">Roboto</item>
<item name="android:windowFullscreen">true</item>
</style>
在整个解决方案中,我一直在寻找“ font”和“ family”两个词,不幸的是,没有任何相关内容。
出于记录,我知道我最终将不得不使用一个习惯用法,但是我想让更改首先以一种快速而又肮脏的方式起作用。
如何从系统设置中覆盖该字体?
答案 0 :(得分:1)
您可以通过以下步骤覆盖Android的系统字体:
1,将字体文件复制到Assets文件夹中,在我的演示中,我使用Roboto-Italic.ttf
使其清晰可见。
2,将标签的字体系列设置为已添加到资产中的字体:
<Label.FontFamily>
<OnPlatform x:TypeArguments="x:String">
<On Platform="Android" Value="Roboto-Italic.ttf#Roboto-Italic.ttf" />
</OnPlatform>
</Label.FontFamily>