我想使用xamarin android visual studio创建自定义控件。我使用xamarin表单创建了这个示例项目,它工作正常:http://blog.falafel.com/learning-xamarin-custom-renderers-in-xamarin-forms/
现在我需要创建的内容如下:
上面的控件我已经创建了使用fragment - android本机控件。我想使用Renderer在Xamarin Forms中创建完全相同的内容。
答案 0 :(得分:1)
以下link是一个很棒的教程,可以帮助您了解如何编写自定义渲染器以及代码示例here。
如果您按照这个示例的精髓,您将看到如何编写 Android 渲染器并能够对其进行测试,然而表示您尝试做的事情必须做出一些改动。
您需要指定程序集 ExportRendererAttribute 以公开自定义渲染器,并允许注册以供使用。这将使您的类实现在呈现 Xamarin.Forms 页面时遇到可调用性。
在创建复合控件时,您还希望从 ViewRenderer&lt;&gt; 派生所有平台实现共享的自定义查看,以及<您将用于托管新复合控件的em> base 控件(查看您已经完成的样本组合并获取最顶层的元素)。
与链接中的示例不同,您不会覆盖 Draw 方法,因为您不会直接在画布上绘画。相反,您将按照已经完成的内容创建布局,但是您将把此代码放在覆盖 OnElementChanged()中。