尝试自定义xamarin.android中的字体时出错

时间:2014-04-26 05:37:08

标签: android fonts xamarin customization

我使用xamarin.android开发应用程序,我尝试使用代码自定义字体:

 Typeface myfont = Typeface.CreateFromAsset (Context.Assets, "fonts/KhmerOS.ttf");

但是当我建立时,它的错误如下所示:

Error CS0120: An object reference is required for the non-static field, method, or property 'Android.Content.Context.Assets.get' (CS0120)

请帮助我,

最好的问候 Buntha

4 个答案:

答案 0 :(得分:4)

这可能是迟到的回复,但可能会帮助有相同问题的人。将BuilAction设置为Android Asset以获取字体文件。 (右键单击fontfile-> BuildAction选择AndroidAsset)

答案 1 :(得分:2)

试试这个:

Typeface tf = Typeface.CreateFromAsset(Application.Context.Assets, "fonts/KhmerOS.ttf");

答案 2 :(得分:1)

试试这个:)

[assembly: ExportRenderer(typeof(Label), typeof(MyLabelRenderer))]
namespace App3.Droid.Debug
{
    class MyLabelRenderer : LabelRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<Label> e)
        {
        base.OnElementChanged(e);

        var label = (TextView)Control;
        Typeface font = Typeface.CreateFromAsset(Forms.Context.Assets, "your font name.otf/ttf");
        label.Typeface = font;
    }
}
}

注意:将字体放入资源并设置属性“在AndroidAsset上构建操作并复制到输出目录以便始终复制”

答案 3 :(得分:0)

将代码编辑为

Typeface custom_font = Typeface.createFromAsset(getAssets(), "fonts/font name.ttf");
tx.setTypeface(custom_font);