#xaml #xamarin.forms #fonts
#xaml #xamarin.forms #шрифты
Вопрос:
У меня есть следующий xaml, который включает в себя семейство шрифтов с засечками, которое отображается как без засечек
<Label Text="{Binding Name}" FontFamily="serif" Style="{StaticResource largeLabel}" HorizontalOptions="FillAndExpand" />
На самом деле, что бы я ни добавлял, это, похоже, не имеет никакого эффекта. Я пробовал пользовательские шрифты, имена шрифтов, такие как arial, семейства шрифтов, такие как serif, и это никогда не меняется.
Я пробовал в Android и uwp на ПК
Спасибо за вашу помощь
Комментарии:
1. «serif» не является допустимым семейством шрифтов. На каждой платформе есть свой набор шрифтов, которые вы можете выбрать — они не являются универсальными для разных платформ. Я предлагаю вам потратить время на чтение документов, прежде чем делать что-либо еще. learn.microsoft.com/en-us/xamarin/xamarin-forms/user-interface /…
Ответ №1:
На самом деле, что бы я ни добавлял, это, похоже, не имеет никакого эффекта. Я пробовал пользовательские шрифты, имена шрифтов, такие как arial, семейства шрифтов, такие как serif, и это никогда не меняется.
Как сказал Джейсон.Использование шрифта, отличного от встроенных шрифтов, требует некоторого специфичного для платформы кодирования.
<Label Text="Hello Forms with XAML">
<Label.FontFamily>
<OnPlatform x:TypeArguments="x:String">
<On Platform="iOS" Value="Lobster-Regular" />
<On Platform="Android" Value="Lobster-Regular.ttf#Lobster-Regular" />
<On Platform="UWP" Value="Assets/Fonts/Lobster-Regular.ttf#Lobster" />
</OnPlatform>
</Label.FontFamily>
</Label>
iOS
- Добавьте файл шрифта с помощью действия сборки: BundleResource,
- Обновите файл Info.plist (шрифты, предоставляемые ключом application или UIAppFonts), затем
- Обращайтесь к нему по имени везде, где вы определяете шрифт в Xamarin.Формы!
Android
- Добавьте файл шрифта в папку Assets в проекте приложения и задайте действие сборки: AndroidAsset.
- В качестве имени шрифта в Xamarin используйте полный путь и имя шрифта, разделенные хэшем (#).Формы
UWP
- Добавьте файл шрифта в папку /Assets/Fonts/ в проекте приложения и задайте действие сборки:Содержимое.
- Используйте полный путь и имя файла шрифта, за которым следует хэш (#) и имя шрифта
Вот официальный документ.Используйте пользовательский шрифт
Ответ №2:
Я удалял каждый атрибут один за другим, пока не остался только следующий, и он начал работать:
<Label Text="Test" FontFamily="serif" />
Я повторно добавил каждый атрибут один за другим, и он все еще работал, я изменил несколько других вещей, и он все еще работал.
Я понятия не имею, в чем проблема
Комментарии:
1. Вы можете пометить его, тогда этот вопрос будет закрыт. Это может быть еще одной проблемой, вы можете создать новый вопрос с подробной информацией в stackoverflow. 🙂