创建自定义渲染器时,Xamarin在Android上崩溃

时间:2018-09-16 07:03:47

标签: android xamarin xamarin.forms xamarin.android

我想在xamarin中实现一个自定义条目,然后逐步遵循一些youtube教程,并且可以在它们上使用,但是当通过实时播放器启动时,我的崩溃。

这是共享项目中的代码

使用Xamarin.Forms;

namespace QuickTest.CustomControls
{
    public class PlainEntry : Entry
    {
    }
}

这是android专用的版本

using Android.Content;
using QuickTest.CustomControls;
using QuickTest.Droid.CustomAndroidControls;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;

[assembly: ExportRenderer(typeof(PlainEntry), typeof(PlainEntryAndroid))]
namespace QuickTest.Droid.CustomAndroidControls
{
    public class PlainEntryAndroid : EntryRenderer
    {
        public PlainEntryAndroid() : base(null) { }

        public PlainEntryAndroid(Context context) : base(context) { }
    }
}

它是一个基本的实现,我注释掉了OnElementChanged函数,以便我可以使其首先运行,是否有做错的地方,任何帮助将不胜感激,因为我已经在此上浪费了很多时间,谢谢。

顺便说一句,我也尝试了没有构造函数的情况,但是失败了。

1 个答案:

答案 0 :(得分:1)

  

Xamarin在创建自定义渲染器时在Android上崩溃。它没有发出任何错误,只是xamarin Player崩溃了

请参考文档:Limitations of Xamarin Live Player

对于Xamarin.Forms

  • 不支持自定义渲染器。
  • 不支持效果。
  • 不支持具有自定义可绑定属性的自定义控件。
  • 不支持嵌入的资源(即在PCL中嵌入图像或其他资源)。
  • 不支持第三方MVVM框架(即Prism,Mvvm Cross,Mvvm Light等)。

这就是问题发生的原因。因此,建议将项目部署到android模拟器或真实设备上。