我在我的xamarin应用程序中使用Font Awesome 5。我想在RadButton
(Telerik)中显示一个图标:
<telerikInput:RadButton
Grid.Row="0" Grid.Column="0"
Text=""
FontSize="30"
Style="{StaticResource TelerikButtonStyle}"
Command="{Binding MyCommand}">
<telerikInput:RadButton.FontFamily>
<OnPlatform x:TypeArguments="x:String">
<On Platform="Android" Value="FontAwesome5Free-Solid-900.otf#Font Awesome 5 Free Solid" />
<On Platform="Windows" Value="Assets/Fonts/FontAwesome5Free-Solid-900.otf#Font Awesome 5 Free Solid" />
</OnPlatform>
</telerikInput:RadButton.FontFamily>
</telerikInput:RadButton>`
对于Android,这可以正常工作,但是在UWP中它显示一个空白框。
答案 0 :(得分:1)
在平台上应使用“ UWP”而不是“ Windows”
<On Platform="UWP" Value="Assets/Fonts/FontAwesome5Free-Solid-900.otf#Font Awesome 5 Free Solid" />
答案 1 :(得分:1)
Font Awesome的字体名称中不包含Solid
。尝试从名称中删除Solid
,如下所示:
<On Platform="Windows" Value="Assets/Fonts/FontAwesome5Free-Solid-900.otf#Font Awesome 5 Free" />
编辑:
如果您使用的是Xamarin.Forms 2.3.4或更高版本,则将Windows
替换为UWP
如下:
<On Platform="UWP" Value="Assets/Fonts/FontAwesome5Free-Solid-900.otf#Font Awesome 5 Free" />
答案 2 :(得分:0)
我已经在空白解决方案中进行了尝试,并使其工作如下:
Assets/Fonts
文件夹中添加了字体,并确保它具有正确的名称(在我的情况下,我将字体重命名为FontAwesome5.otf
),并且 Content 的构建操作是:XAML:
<Label Text=""
FontSize="40"
HorizontalOptions="Center"
VerticalOptions="CenterAndExpand">
<Label.FontFamily>
<OnPlatform x:TypeArguments="x:String">
<On Platform="UWP" Value="Assets/Fonts/FontAwesome5.otf#Font Awesome 5 Free" />
</OnPlatform>
</Label.FontFamily>
</Label>
可以使用某些字体查看器应用程序找到正确的#后缀,例如dp4 Font Viewer:
结果: