Xamarin.Forms + Custom Renderers vs. Xamarin.iOS/Xamarin.And



我最近开始使用Xamarin。项目的表单。就像文档中提到的,它非常适合原型制作。然而,我真的开始注意到UI设计共享概念的局限性。特别是,无法设置自定义按钮内容(如图像)是令人恼火的。我敢肯定,在某些情况下,我想改变控件的工作方式。

在我看来,我有两条路可走。第一,继续使用Xamarin。表单和使用自定义渲染器。考虑到我仍然希望我的UI代码是共享的,但也从基本的Xamarin定制。窗体控件,我倾向于这个选项。第二,使用原生Xamarin项目(Xamarin;iOS, Xamarin.Android)。这将使我能够完全控制每个平台的UI,但这也意味着要维护更多的代码。

就像我提到的,我目前倾向于在Xamarin.Forms中使用自定义渲染器。我能从那些使用过一种或(最好)两种选择的人那里得到一些见解吗?

我主要使用Xamarin.Forms。对于正确类型的应用程序(类似于"表单"的应用程序),它运行得非常好。

编写自定义渲染器并不难,但不幸的是,文档不是那么好。根据您所做的工作,有时在本机控件和Forms布局引擎之间进行转换可能会有点棘手。然而,一旦你掌握了它的窍门,它就有意义了,现在代码是开源的,你可以窥视内部,看看"内置"控件是如何工作的。

有各种各样的扩展可以添加更多的控件。有些是免费和开源的,比如XLabs.Forms。所以你需要的控制可能已经存在了。

你可以使用像TapGestureRecognizer这样的机制把一个图像或标签变成一个按钮,所以仅仅因为内置的表单按钮真的,真的缺乏可定制性,你有时可以找到其他方法来获得同样的效果,仍然保持在纯Xamarin.Forms.

希望有帮助!

XamarinForms非常适合不需要使用大量设备特异性的示例应用程序。

对于复杂的应用程序,我建议你从Xamarin Ios和Android开始。它需要更多的时间来控制,但你会看到它是更宽松的

最新更新