在 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 代替
如何使用它完成?
答案 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中使用字体的更多信息。
答案 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中正确呈现了粗体。
如果有人遇到同样的问题,我会与大家分享。