在xamarin表单中使用自定义字体

时间:2017-01-24 09:05:39

标签: fonts xamarin.forms

我想在xamarinforms中的xaml文件中使用自定义字体,该文件位于可获得所有此平台输出的可移植文件夹(不是iOS和Android)上。

2 个答案:

答案 0 :(得分:3)

  1. 按照here所述,在您的平台中添加字体。
  2. 创建在您的平台上反映的字体样式,如:

        <OnPlatform x:Key="NormalFont" x:TypeArguments="x:String"
                    iOS="Montserrat" Android="Montserrat"
                    WinPhone="Assets/Fonts/Montserrat-Regular.ttf#Montserrat"/>
    
  3. 使用以下任何选项:

    • 直接使用: <Label Text="test" FontFamily="{StaticResource NormalFont}"/>

    • 使用匿名样式(影响应用中的所有标签):

      <Style TargetType="Label">
          <Setter Property="FontFamily" Value="{StaticResource NormalFont}"/>
      </Style>
      
    • 使用命名样式:

      <Style x:Key="TitleStyle" TargetType="Label">
          <Setter Property="FontFamily" Value="{StaticResource Boldfont}"/>
      </Style>
      
      <Label Text="Options" Style="{StaticResource TitleStyle}"/>
      

答案 1 :(得分:0)

如果您不想自己实现此功能,可以使用我们在CommunityToolkit for Xamarin表单中添加的CustomFontEffecthttps://github.com/FormsCommunityToolkit/FormsCommunityToolkit/tree/dev/src

添加了一个示例项目,但总体用法如下:

<Label Text="Comic Sans is tha bomb!">
    <Label.Effects>
        <effects:CustomFontEffect FontPath="ComicSaaaaaans.ttf" FontFamilyName="Comic Sans MS" />
    </Label.Effects>
</Label>