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中的字体工作。

使用xforms

中的字体

以下文档 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 中正确呈现了粗体。

我分享这个以防其他人遇到同样的问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top