当label's文本改变时,标签字体变回默认值
本文关键字:标签 字体 默认值 改变 label 文本 | 更新日期: 2023-09-27 17:51:20
我使用了自定义渲染器来设置字体。问题是当我更改标签的文本时,字体样式消失了。
提供的是我的自定义渲染器代码。谁能告诉我我哪里做错了?
[assembly: ExportRenderer (typeof (MyLabel), typeof (MyLabelRenderer))]
namespace FormsProj.Droid
{
public class MyLabelRenderer : LabelRenderer
{
protected override void OnElementChanged (ElementChangedEventArgs<Label> e)
{
base.OnElementChanged (e);
var label = (TextView)Control;
Typeface font = Typeface.CreateFromAsset (Forms.Context.Assets, "Raleway-Regular.ttf");
label.Typeface = font;
}
}
}
Update # 1 这是我的代码共享项目使用系统;使用Xamarin.Forms;
namespace FormsProj
{
public class MyLabel:Label
{
}
}
代码我使用MyLabel
var Thankyoutxt = new MyLabel {
XAlign = TextAlignment.Center,
Text = "Thank You",
VerticalOptions = LayoutOptions.CenterAndExpand,
HorizontalOptions = LayoutOptions.Center,
TextColor = Xamarin.Forms.Color.White,
FontAttributes = FontAttributes.Bold,
Style = Device.Styles.CaptionStyle,
FontFamily = ColorandFont.FontName,
};
当点击按钮时,我将改变文本,到那时字体会变回没有自定义字体…
提前感谢…:)
你也可以尝试在渲染器中重置OnPropertyChangedEvent的属性。我有这个问题在过去,这已经解决了它。