【问题标题】:Error when try to customize font in xamarin.android尝试在 xamarin.android 中自定义字体时出错
【发布时间】:2014-06-11 23:49:47
【问题描述】:

我使用 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)

请帮帮我,

最好的问候 文塔

【问题讨论】:

    标签: android fonts xamarin customization


    【解决方案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 上构建操作并复制到输出目录以始终复制”

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        试试这个:

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

        【讨论】:

          【解决方案4】:

          将您的代码编辑为

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

          【讨论】:

            猜你喜欢
            • 2020-12-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-01-21
            • 1970-01-01
            • 2019-04-15
            • 1970-01-01
            相关资源
            最近更新 更多