如何设置Xamarin.Forms Label Font Bold

时间:2014-08-01 17:15:30

标签: xamarin.forms

Xamarin.Forms 中,我使用标签并尝试设置字体

以下代码有效: -

Label label1 = new Label();
label1.Font = Font.SystemFontOfSize(10);

但是尝试指定字体属性,例如: -

Label label1 = new Label();
label1.Font = Font.SystemFontOfSize(10, FontAttributes.Bold);

阻止 ContentPage 呈现异常。

有一个 Font.BoldSystemFontOfSize(),可以使用,但这是不推荐使用的,所以我现在尝试使用 Font.SystemOfSize 代替

如何使用它完成?

5 个答案:

答案 0 :(得分:17)

这是我的项目中的一段代码:

new Label {
   Text = "text goes here",
   Font = Font.SystemFontOfSize (NamedSize.Medium)
              .WithAttributes (FontAttributes.Bold),
}

这允许您不指定某个字体大小,而是使用默认情况下用于标签

的字体大小

答案 1 :(得分:13)

我想我迟到了回答。 但我仍然想提一下,现在可以使用XAML来完成。 以下XAML将提供所需的输出。

<Label Text="Hello Label" FontSize="20" FontAttributes="Bold"/>

您可以参考以下链接,了解有关在Xamarin.Forms中使用字体的更多信息。

Working With Fonts in XForms

答案 2 :(得分:2)

关注文档Xamarin.Forms - Working with Fonts,您应该使用以下代码:

Label label1 = Font.SystemFontOfSize (10, FontAttributes.Bold | FontAttributes.Italic)

相同页面声明 BoldSystemFontOfSize 已弃用。

答案 3 :(得分:2)

如果您需要多个需要加粗字体的地方,那么您最好创建一个样式。可以在带有或没有键的app.cs中全局使用,也可以在页面级别中全局使用。您可以将所需的所有属性设置为适当的值,并在任何地方使用。

有关参考,请查看此page

答案 4 :(得分:2)

我遇到过类似的情况,即FontAttributes="Bold"的{​​{1}}内的Label的DataTemplate在iOS中未呈现为粗体。 Android呈现良好。

当不在ListView内时,粗体DataTemplate正确呈现。

原因是默认字体在iOS上没有可用的粗体。当我向Label添加Font="Arial"时,它在iOS中正确呈现了粗体。

如果有人遇到同样的问题,我会与大家分享。