При использовании Font Awesome в приложении Xamarin вместо значка в UWP отображается пустое поле - PullRequest
0 голосов
/ 21 ноября 2018

Я использую Font Awesome 5 в своем приложении xamarin.Я хотел бы показать значок в RadButton (Telerik):

<telerikInput:RadButton
          Grid.Row="0" Grid.Column="0" 
          Text="&#xf029;"
          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 показывает пустое поле.

Ответы [ 3 ]

0 голосов
/ 22 ноября 2018

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" />
0 голосов
/ 22 ноября 2018

Я попробовал это в пустом решении и заставил его работать следующим образом:

  1. Добавил шрифт в папку Assets/Fonts в проекте UWP и убедился, что он имеет правильное имя (в моем случаеЯ переименовал шрифт в FontAwesome5.otf), а действие по созданию Содержимое :

enter image description here

Использовал следующее для ссылки на шрифт (примечание - в этом примере задается только путь UWP, поэтому вы должны добавить другие платформы, как и в вашем вопросе):

XAML:

<Label Text="&#xf11a;" 
   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 :

DP4

Результат:

Result

0 голосов
/ 21 ноября 2018

На платформе следует использовать «UWP» вместо «« Windows »»

<On Platform="UWP" Value="Assets/Fonts/FontAwesome5Free-Solid-900.otf#Font Awesome 5 Free Solid" />
...