我已从fonts.google.com下载了一种字体,并希望为我的Xamarin Forms应用中的所有标签设置字体系列。
将以下代码添加到所有标签似乎是一项过多的工作
<Label.FontFamily>
<OnPlatform x:TypeArguments="x:String">
<OnPlatform.Android>Mogra-Regular.ttf#Mogra-Regular</OnPlatform.Android>
</OnPlatform>
</Label.FontFamily>
理想情况下,我会在资源字典中设置字体系列,我已经成功设置了文本颜色和字体属性,但是,我这样做是不成功的。
我已设法使用自定义渲染器更改字体系列,但是当我使用动态资源更改标签文本颜色或字体属性时,字体系列将重置为默认值。
是否有任何方法可以让我普遍使用我的自定义字体,并且仍然可以动态更改任何给定标签的其他方面?
答案 0 :(得分:6)
在App.xaml中创建隐式样式(没有x:Key
的样式),它将应用于所有Label
<Style TargetType="Label">
<Setter Property="FontFamily">
<Setter.Value>
<OnPlatform x:TypeArguments="x:String">
<OnPlatform.Android>Mogra-Regular.ttf#Mogra-Regular</OnPlatform.Android>
</OnPlatform>
</Setter.Value>
</Setter>
</Style>