Xamarin Forms iOS和Android的字体非常轻(薄)

时间:2019-04-10 12:52:38

标签: xamarin xamarin.forms

我的应用程序中有一个大尺寸标签,并且已经实现了该标签,因此该标签的字体重量较小:

<?xml version="1.0" encoding="utf-8"?>
<Label xmlns="http://xamarin.com/schemas/2014/forms" 
       xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
       xmlns:local="clr-namespace:Japanese;assembly=J" 
       x:Class="J.Templates.WordLabel" >
    <Label.FontFamily>
        <OnPlatform x:TypeArguments="x:String" Android="sans-serif-thin" iOS=".SFUIText-Light" />
    </Label.FontFamily>
</Label>

有人知道我该如何在重量更小的Android和iOS上实现字体?

2 个答案:

答案 0 :(得分:1)

您可以根据需要使用Google字体。来自here

现在将字体添加到Android(Assets)set属性为AndroidAssets,将iOS(Resource)set属性添加为BundleResource。

1)在App.xaml中添加以下代码,并提供字体名称(在我的情况下为OpenSans-Regular)。

 <Application.Resources>
        <ResourceDictionary>
            <OnPlatform x:Key="fontFamilyOpenSansRegular" x:TypeArguments="x:String" iOS="OpenSans-Regular" Android="OpenSans-Regular.ttf#OpenSans-Regular" /> 
</ResourceDictionary>
    </Application.Resources>

2)使用DynamicResource如下调用字体。

<Label Text="Test" TextColor="#1db4d9" HorizontalOptions="FillAndExpand" HorizontalTextAlignment="Center" FontFamily="{DynamicResource fontFamilyOpenSansRegular}">

完成。 让我知道它是否对您有用。

答案 1 :(得分:0)

对于iOS,您需要做的另一件事是在Info.plist中添加一个条目。

enter image description here

原始条目是:

<key>UIAppFonts</key>
<array>
    <string>fontawesome.ttf</string>
    <string>Signika-Light.ttf</string>
    <string>ionicons.ttf</string>
</array>