题
在 Xamarin.Forms 我正在使用一个 标签 并试图设置一个 字体.
以下代码有效:-
Label label1 = new Label();
label1.Font = Font.SystemFontOfSize(10);
然而试图指定 字体属性 比如:-
Label label1 = new Label();
label1.Font = Font.SystemFontOfSize(10, FontAttributes.Bold);
正在阻止 内容页 渲染时出现异常。
有一个 Font.BoldSystemFontOfSize(), ,可以使用,但是这应该被弃用,所以我现在尝试使用 字体.系统大小 反而。
使用这个是如何完成的?
解决方案
这是我项目中有效的代码:
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)
.
相同的页面状态表示 boldsystemfontofsize 被弃用。
如果您需要多个地方需要粗体字体,那么您会更好地创建样式。无论是在App.cs中的全局,有或没有键或页面级别。您可以将所需的所有属性设置为适当的值,并在您想要的任何地方使用。
参考检查此页面
我也遇到过类似的情况 FontAttributes="Bold"
a 内的标签 DataTemplate
为一个 ListView
在 iOS 中未呈现为粗体。安卓渲染得很好。
当不在一个 DataTemplate
, , 大胆 Label
正确呈现。
原因是 iOS 上默认字体没有粗体。当我添加一个 Font="Arial"
到 Label
, ,它在 iOS 中正确呈现了粗体。
我分享这个以防其他人遇到同样的问题。
不隶属于 StackOverflow