如何在Xamarin应用程序中使用第三方控件?

时间:2014-07-15 19:51:23

标签: xamarin controls

由于我对Xamarin的经验有限,我不确定这是一个简单或复杂的问题......

如果我想为Android,iOS和Windows Phone创建一个应用程序,但我有一个第三方控件或库,我需要包括它是如何完成的?

例如说我想使用公司XYZ的SuperPicture控件,它具有一些功能,可以说加载图像,裁剪它们等。

  • XYZ是否必须为每个平台实施该控件或库?
  • 或者XYZ是否必须提供Xamarin'启用'控件\库?
  • 或者我必须以某种方式自己包裹它?
  • 如果每个平台上的功能因名称或功能而略有不同,该怎么办?
  • Xamarin 3(使用Xamarin形式)是否使这更容易?

2 个答案:

答案 0 :(得分:3)

有很多方法可以做到:

  • 某个组件可能在Xamarin的Component Store中可用于一个或多个平台
  • 可以通过每平台dll或跨平台PCL中的nuget获得组件
  • 本机(Java JAR或iOS lib / framework)库需要bound for use in Xamarin。有些公司可能会提供Xamarin绑定,或者您可能会发现社区中有人共享的现有绑定,或者您可能需要自己进行绑定
  • 如果每个平台的API不相同,您将需要编写特定于平台的代码来使用它,或者创建一个公共的外观层等。
  • Xamarin 3并没有从根本上改变这个问题,虽然它确实引入了对shared projects的支持,这是另一种做跨平台代码的方法

答案 1 :(得分:1)

Xamarin组件是基于每个平台开发的。如果它是跨平台的,它是在每个平台上独立开发的。

如果您想要用于平台的现有控件,Xamarin确实能够编写一个包装器(假设不存在),以便在Xamarin项目中使用。

使用Xamarin.Forms(在Xamarin 3中),您可以开发一个跨平台的组件,只要它使用可用的X.Forms组件(和实现的属性)。虽然实际上你仍然会为每个平台提供一些自定义代码,因为X.Forms提供了有限的控制和属性。