Пользовательский шрифт не работает должным образом в формах xamrain - PullRequest
1 голос
/ 30 мая 2020

Я использую отличный шрифт или пытаюсь использовать его в формах Xamarin. Я следовал этому руководству здесь.

https://medium.com/@tsjdevapps / use-fontawesome-in-a-xamarin-forms-app-2edf25311db4

Но моя кнопка отображается неправильно. Я просто использую приложение для котла, чтобы проверить его работу. Я загружаю шрифт awesome cs, как указано на сайте

Я поместил следующее в свое приложение xaml.

<?xml version="1.0" encoding="utf-8" ?>
<Application xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:d="http://xamarin.com/schemas/2014/forms/design"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             mc:Ignorable="d"
             x:Class="LattestFeaturesXamarin.App">
    <Application.Resources>
        <ResourceDictionary>
            <OnPlatform x:TypeArguments="x:String" 
                x:Key="FontAwesomeBrands">
                <On Platform="Android" 
          Value="FontAwesome5FreeRegular.otf#Regular" />
                <On Platform="iOS" 
          Value="FontAwesome5FreeRegular" />
                <On Platform="UWP" 
          Value="/Assets/FontAwesome5Brands.otf#Font Awesome 5 Brands" />
            </OnPlatform>

            <OnPlatform x:TypeArguments="x:String" 
                x:Key="FontAwesomeSolid">
                <On Platform="Android" 
          Value="FontAwesome5FreeRegular.otf#Regular" />
                <On Platform="iOS" 
          Value="FontAwesome5FreeRegular" />
                <On Platform="UWP" 
          Value="/Assets/FontAwesome5Solid.otf#Font Awesome 5 Free" />
            </OnPlatform>

            <OnPlatform x:TypeArguments="x:String" 
                x:Key="FontAwesomeRegular">
                <On Platform="Android" 
          Value="FontAwesome5FreeRegular.otf#Regular" />
                <On Platform="iOS" 
          Value="FontAwesome5FreeRegular" />
                <On Platform="UWP" 
          Value="/Assets/FontAwesome5Regular.otf#Font Awesome 5 Free" />
            </OnPlatform>
        </ResourceDictionary>
    </Application.Resources>
</Application>

Мои шрифты сохранены здесь, и я использую только обычные на ios и andriod на данный момент, так что я могу заставить это работать.

Вы видите здесь, я установил его правильно для android, но все же вы видите, что имитатор, кнопка не показывает правильный значок шрифта, потому что я не установили правильный шрифт?

enter image description here

enter image description here

enter image description here

1 Ответ

0 голосов
/ 01 июня 2020

Похоже, что это несоответствие ключ-значение. Попробуйте изменить Application.Resources на ниже:

<Application.Resources>
    <ResourceDictionary>
        <OnPlatform x:TypeArguments="x:String" 
            x:Key="FontAwesomeBrands">
            <On Platform="Android" 
      Value="FontAwesome5BrandsRegular.otf#Regular" />
            <On Platform="iOS" 
      Value="FontAwesome5BrandsRegular" />
            <On Platform="UWP" 
      Value="/Assets/FontAwesome5Brands.otf#Font Awesome 5 Brands" />
        </OnPlatform>

        <OnPlatform x:TypeArguments="x:String" 
            x:Key="FontAwesomeSolid">
            <On Platform="Android" 
      Value="FontAwesome5FreeSolid.otf#Regular" />
            <On Platform="iOS" 
      Value="FontAwesome5FreeSolid" />
            <On Platform="UWP" 
      Value="/Assets/FontAwesome5Solid.otf#Font Awesome 5 Free" />
        </OnPlatform>

        <OnPlatform x:TypeArguments="x:String" 
            x:Key="FontAwesomeRegular">
            <On Platform="Android" 
      Value="FontAwesome5FreeRegular.otf#Regular" />
            <On Platform="iOS" 
      Value="FontAwesome5FreeRegular" />
            <On Platform="UWP" 
      Value="/Assets/FontAwesome5Regular.otf#Font Awesome 5 Free" />
        </OnPlatform>
    </ResourceDictionary>
</Application.Resources>

и введите:

<Button Text="&#xf2b9;" FontFamily="{StaticResource FontAwesomeRegular}">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...