Xamarin.forms 如何覆盖Android的系统字体?

Xamarin.forms 如何覆盖Android的系统字体?,xamarin.forms,Xamarin.forms,因此,简而言之,我尝试设置Label.FontFamily属性,但它不起作用 我对移动应用有一个非常简单的要求。正在开发的应用程序的Android版本应始终以Roboto字体呈现文本,而不管系统设置中的字体系列是什么 这是不起作用的示例标记: <Label VerticalOptions="CenterAndExpand" HorizontalOptions="CenterAndExpand" TextColor="White" Horizonta

因此,简而言之,我尝试设置Label.FontFamily属性,但它不起作用

我对移动应用有一个非常简单的要求。正在开发的应用程序的Android版本应始终以Roboto字体呈现文本,而不管系统设置中的字体系列是什么

这是不起作用的示例标记:

<Label VerticalOptions="CenterAndExpand"
       HorizontalOptions="CenterAndExpand"
       TextColor="White"
       HorizontalTextAlignment="Center"
       FontSize="46"
       FontFamily="Roboto">Hello world!</Label>
我已经将系统字体设置为一种奇怪的字体,叫做Travel,它是我手机预装的。我的设备上的所有内容都以这种字体呈现,不幸的是,其中包括了问候语标签,其代码发布在这里

我尝试了Roboto.ttf而不是简单的Roboto。我试着改变主题

<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>
我在整个解决方案中查找了字体和家族这两个词,不幸的是,没有找到相关的词

作为记录,我知道我最终将不得不使用一个习惯用语,但我想先让这个变化以一种快速而肮脏的方式起作用


如何从系统设置中覆盖该字体?

您可以通过以下步骤覆盖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>

你看过文件了吗?所以,我已经阅读了足够多的文档和代码示例,但该页面涉及自定义字体。这与我无关,直到阿比旺指出这是一个解决办法。