2
我已經使用了自定義的渲染設置字體..問題是,當我更改標籤的文本的字體樣式disappers ..字體標籤變回默認,當標籤的文本改變
提供的是我的自定義渲染器代碼..任何人都可以告訴我我做錯了什麼?
[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;
}
}
}
更新#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,
};
按鈕位置我會改變文本的點擊,那時的字體變回沒有自定義的字體..
在此先感謝.. :)
你在哪裏改變文本?我只看到更改字體的代碼。 –
@JohnOdom Chaging文本代碼就像** label.Text =「已編輯」; **我假定問題出在Renderer內。 –
我希望您能在代碼中更改文本的位置。我已經知道如何改變文本:P。這可能是您如何調用渲染器的問題。 –