gpt4 book ai didi

xamarin - 更改 Xamarin 中格式化文本的字体

转载 作者:行者123 更新时间:2023-12-02 17:41:14 24 4
gpt4 key购买 nike

我有一个带有格式化文本的标签,我想更改其字体样式(我的意思是字体)。我尝试使用自定义标签渲染(就像对普通文本一样),但它没有得到反射(reflect)。我的疑问是我们是否可以更改格式化文本的字体(因为它对于标签的文本(非格式化文本)工作正常)。

这是我的 .xaml 文件代码

<Label x:Name = "invosTitle" Grid.Column = "0" Grid.Row = "0" Grid.ColumnSpan = "3"  HorizontalOptions = "CenterAndExpand">
<Label.FormattedText>
<FormattedString>
<FormattedString.Spans>
<Span Text = "abcd" ForegroundColor = "White" ></Span>
<Span Text = " "></Span>
<Span Text = "efgh" ForegroundColor = "Gray"></Span>
</FormattedString.Spans>
</FormattedString>
</Label.FormattedText>
</Label>

CustomLabelRenderer 代码是

protected override void OnElementPropertyChanged (object sender , PropertyChangedEventArgs e) 
{
base.OnElementPropertyChanged(sender, e);
var label = (TextView)Control;
Typeface font = Typeface.CreateFromAsset (Forms.Context.Assets, "Fonts/microsoftjhengheibold.otf");
label.Typeface = font;
label.SetTypeface (font, TypefaceStyle.Bold);
}

最佳答案

使用 FormattedString 元素时,您可以使用 FontFamily 属性单独更改每个 Span 的字体。您不需要自定义标签渲染器来实现此目的。

<Span Text="abcd"  
ForegroundColor="White"
FontFamily="Helvetica" />

这记录在 Xamarin "Working with fonts" 中文档。

关于xamarin - 更改 Xamarin 中格式化文本的字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28407417/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com