#c# #android #xamarin #fonts
#c# #Android #xamarin #шрифты
Вопрос:
У меня возникла проблема с пользовательскими шрифтами Xamarin Forms 4.8.
Я следовал инструкциям до буквы, то есть:
-Загрузил мои файлы шрифтов (.ttf или .otf) в мой общий каталог и пометил их как встроенные ресурсы.
-Добавлен ExportFont за пределы моего пространства имен.
Когда я ссылаюсь на шрифт в любом месте, он просто создает стандартный шрифт. Вот фрагмент кода:
using System;
using System.Collections.Generic;
using Xamarin.Forms;
using Newtonsoft.Json.Linq;
using System.IO;
using System.Reflection;
[assembly: ExportFont("Stencil.ttf")]
[assembly: ExportFont("GreatVibes.otf")]
[assembly: ExportFont("Lobster-Regular.ttf", Alias= "MyFont")]
namespace BAAaM
{
public partial class MainPage : ContentPage
{
public MainPage()
{
Grid topgrid = new Grid();
topgrid.Children.Add(new Label { Text = "Test, please work", FontSize = 30, FontFamily = "Lobster-Regular" }, 0, 1);
this.Content = topgrid;
}
}
}
Я экспериментировал с размещением шрифтов в моем каталоге Android в разделе активы, но это тоже не работает. Перезаписывает ли Xamarin все, что я делаю со стандартным шрифтом, как часть встроенных функций label? У меня нет проблем с изменением размера текста.
Спасибо,
M
Ответ №1:
У меня была эта проблема.
Мое решение: изменение структуры файла
ИЗ: Assets/Fonts/PoppinsBold.ttf
Кому: Fonts/PoppinsBold.ttf
Ответ №2:
Вы можете обратиться к этому официальному образцу, чтобы сначала проверить, работает ли он.
Затем я протестировал ваш общий код:
public FontPageXaml ()
{
InitializeComponent ();
Grid topgrid = new Grid();
topgrid.Children.Add(new Label { Text = "Test, please work", FontSize = 30, FontFamily = "Lobster-Regular" }, 0, 1);
this.Content = topgrid;
}
И это работает: