无法更改字体

时间:2019-04-10 19:57:48

标签: xaml xamarin.forms fonts

我有以下xaml,其中包含字体家族衬线 它显示为无衬线

<Label Text="{Binding Name}" FontFamily="serif" Style="{StaticResource largeLabel}" HorizontalOptions="FillAndExpand" />

事实上,无论我使用什么,我尝试自定义字体,arial之类的字体名称,serif之类的字体系列似乎都没有任何效果,并且它永远不会改变。 我已经在PC上的android和uwp中尝试过

感谢您的帮助

2 个答案:

答案 0 :(得分:2)

  

事实上,无论我尝试使用什么,我尝试使用自定义字体,arial之类的字体名称,serif之类的字体系列都不会产生任何效果。

就像杰森说的那样。使用内置字体以外的字体需要一些特定于平台的编码。

<Label Text="Hello Forms with XAML">
    <Label.FontFamily>
        <OnPlatform x:TypeArguments="x:String">
                <On Platform="iOS" Value="Lobster-Regular" />
                <On Platform="Android" Value="Lobster-Regular.ttf#Lobster-Regular" />
                <On Platform="UWP" Value="Assets/Fonts/Lobster-Regular.ttf#Lobster" />
        </OnPlatform>
    </Label.FontFamily>
</Label>

iOS

  • 使用 Build Action:BundleResource
  • 添加字体文件
  • 更新 Info.plist 文件(应用程序提供的字体,或 UIAppFonts,键),然后
  • 在Xamarin.Forms中定义字体的任何地方都按名称引用!

Android

  • 将字体文件添加到应用程序的 Assets 文件夹中 项目并设置 Build Action:AndroidAsset
  • 使用完整的路径和用空格(#)分隔的字体名称作为 Xamarin.Forms中的字体名称

UWP

  • 将字体文件添加到以下位置的 / Assets / Fonts / 文件夹中 应用程序项目并设置 Build Action:Content
  • 使用完整路径和字体文件名,后跟一个井号(#)和 字体名称

这是正式文件。Use a custom font

答案 1 :(得分:0)

我逐个删除了每个属性,直到只剩下一个,它才开始起作用:

<Label Text="Test" FontFamily="serif" />

我逐个重新添加了每个属性,它仍然有效,我更改了其他几项,它仍然有效。 我不知道出了什么问题