【问题标题】:Can I use both Xamarin.Forms and Xamarin.Native for UI on the same project?我可以在同一个项目中同时使用 Xamarin.Forms 和 Xamarin.Native for UI 吗?
【发布时间】:2018-08-02 11:54:10
【问题描述】:

我目前是 Xamarin 的新手。我已经学会在 Xamarin.Android - Xamarin.iOS 和 Xamarin.Forms 上进行开发。我的背景来自原生 Android 应用程序 (Java) 和 iOS 应用程序 (Swift)。我的问题是我可以将 Xamarin.Forms 用于基本 UI,同时将 Xamarin.Native 用于同一项目中更复杂的 UI?更具体地说,我可以在同一个项目中结合 UI 视角的所有 Xamarin 技术吗?

【问题讨论】:

    标签: xamarin xamarin.forms xamarin.ios xamarin.android


    【解决方案1】:

    你可以。您需要创建标准 Xamarin.iOS + Xamarin.Android 项目并向其中添加 Xamarin.Forms NuGet。您可以在共享项目中添加 Xamarin.Forms 页面,在本机项目中创建这些类并将它们转换为 UIViewController 或 Fragment。更多这里https://developer.xamarin.com/guides/xamarin-forms/platform-features/native-forms/

    请注意,这不在任何形式的预览中。

    【讨论】:

      【解决方案2】:

      是的,你可以,很容易。将 Xamarin 本机 MVVMCross 用于您的应用程序体系结构,然后您可以使用自定义演示者来呈现本机视图或 Xamarin.Forms 视图。它非常灵活、易于使用且美观。

      观看 Xamarin MVP Martijn van Dijk 的视频: https://www.youtube.com/watch?v=C0VW11yv2AI

      【讨论】:

        【解决方案3】:

        更具体地说,我可以在同一个项目中结合 UI 角度的所有 Xamarin 技术吗?

        是的,但这些功能目前处于预览状态,请买家注意 ;-)

        Xamarin.Forms3.0 的嵌入目前处于预览阶段,可通过自定义 Nuget 提要获得。

        【讨论】:

          【解决方案4】:

          是的,您可以使用custom renderers 来完成。

          从个人的角度来看,如果您发现自己需要一个非常自定义的 UI,并且需要使用很多渲染器,我会完全跳过 Xamarin Forms。它非常适合原型设计和简单的应用程序,否则处理使用自定义渲染器的额外复杂性并不是那么容易。

          【讨论】:

          • 是的,我同意我刚刚了解了 Xamarin 大学的自定义平台渲染器,看起来他们正在做这项工作,但其中很多可能会导致代码维护问题,当然您可能会失去以下优势Xamarin 表单。
          • 我不同意这一点,至少跳过部分。使用自定义渲染器仅意味着您必须依赖于平台来实现上述内容,因此您失去了 Xamarin.Forms 的优势,这是真的。但这不会使它成为一个更糟糕的选择,就像以真正的原生方式编码所说的部分一样。但您不必总是这样做。我的经验是,如果您真正学会了如何利用 Effects、Behaviors、DependencyService 和 CustomRenderers 为您提供的能力(对我来说真正理解这些概念需要花费大量时间),Xamarin.Forms 对业务应用程序来说非常强大。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-11-29
          • 2012-03-13
          • 1970-01-01
          • 1970-01-01
          • 2022-08-03
          • 1970-01-01
          • 2021-10-31
          相关资源
          最近更新 更多