Как установить жирный шрифт метки Xamarin.Forms
-
02-01-2020 - |
Вопрос
В Xamarin.Forms я использую Этикетка и пытаюсь установить Шрифт.
Следующий код работает: -
Label label1 = new Label();
label1.Font = Font.SystemFontOfSize(10);
Однако пытаясь указать Атрибуты шрифта такие как:-
Label label1 = new Label();
label1.Font = Font.SystemFontOfSize(10, FontAttributes.Bold);
препятствует КонтентПейдж от рендеринга с исключением.
Eсть Font.BoldSystemFontOfSize(), который можно использовать, однако он считается устаревшим, поэтому сейчас я пытаюсь использовать Font.SystemOfSize вместо.
Как это делается с помощью этого?
Решение
Вот кусок кода, который работает в моем проекте:
new Label {
Text = "text goes here",
Font = Font.SystemFontOfSize (NamedSize.Medium)
.WithAttributes (FontAttributes.Bold),
}
.
Это позволяет вам не указывать определенный размер шрифта и вместо этого использовать размер шрифта, используемый по умолчанию для метки
Другие советы
Я думаю, я опоздал на ответ. Но все же я хотел бы упомянуть, что это можно сделать с помощью XAML сейчас. Следующий XAML даст желаемый выход.
<Label Text="Hello Label" FontSize="20" FontAttributes="Bold"/>
.
Вы можете ссылаться на следующую ссылку для работы с шрифтами в Xamarin.Forms.
После документации xamarin.forms - работа со шрифтами, вы должны использовать следующий код:
Label label1 = Font.SystemFontOfSize (10, FontAttributes.Bold | FontAttributes.Italic)
.
такая же страница заявляет, что boldsestemfontofsize устарел.
Если вам нужно больше одного места, где требуется смелый шрифт, вы будете лучше создавать стиль.И глобально в приложении .CS с или без ключа или на уровне страницы.Вы можете установить все свойства, которые вы хотите, чтобы соответствующие значения и используете везде, куда вы хотите.
Для справки проверьте эту проверку Страница
У меня была похожая ситуация, когда FontAttributes="Bold"
этикетки внутри DataTemplate
для ListView
не отображались жирным шрифтом в iOS.Андроид отрисовывался нормально.
Когда не в пределах DataTemplate
, жирным шрифтом Label
отображено правильно.
Причина заключалась в том, что шрифт по умолчанию не имел полужирного шрифта, доступного в iOS.Когда я добавил Font="Arial"
к Label
, он правильно отображал жирный шрифт в iOS.
Я делюсь этим на случай, если у кого-то еще возникнет такая же проблема.