Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin-每个平台的不同视图_Xamarin_Xamarin.ios_Xamarin.android_Xamarin.forms - Fatal编程技术网

Xamarin-每个平台的不同视图

Xamarin-每个平台的不同视图,xamarin,xamarin.ios,xamarin.android,xamarin.forms,Xamarin,Xamarin.ios,Xamarin.android,Xamarin.forms,我目前正在从事Xamarin项目,经过一些研究,我对跨平台UI的工作方式感到困惑 让我们以以下3款智能手机为例: 三星Galaxy S5 微软iphone6 Lumia 640 LTE 三部带有三种不同控制装置的手机。三星在底部有3个按钮,而iPhone只有1个按钮。微软手机有3个按钮,就像三星一样,但它们是不同的。这就是我困惑的原因 如本教程所示的跨平台设计展示了一种共享设计 然而,我的目标不是为每个平台创建相同的接口。我看到这个和我想做的很相似。我们有相同的应用程序逻辑,但设计取决于平台

我目前正在从事Xamarin项目,经过一些研究,我对跨平台UI的工作方式感到困惑

让我们以以下3款智能手机为例:

  • 三星Galaxy S5
  • 微软iphone6
  • Lumia 640 LTE
  • 三部带有三种不同控制装置的手机。三星在底部有3个按钮,而iPhone只有1个按钮。微软手机有3个按钮,就像三星一样,但它们是不同的。这就是我困惑的原因

    如本教程所示的跨平台设计展示了一种共享设计

    然而,我的目标不是为每个平台创建相同的接口。我看到这个和我想做的很相似。我们有相同的应用程序逻辑,但设计取决于平台

    按顺序:Android、iOS和Windows Phone

    现在,这里是Xamarin提出的应用程序架构

    为了实现每个平台的不同设计,我不能在共享项目中创建“Forms Xaml页面”,而是创建3个不同的页面(每个平台1个)。然而,我不知道如何才能做到这一点

    启动时,每个应用程序都会执行以下代码行:

    LoadApplication(new App());
    
    那么,如果我制作了3个不同的界面,如何加载应用程序运行平台的特定界面


    另外,如果我们使用MVC模式(我知道MVVM,但我现在还不了解),则创建3个不同的视图,每个视图都有一个控制器,但只共享模型/数据/电机。(MVC->1M/3V/3C)。

    使用Xamarin.Forms,您可以通过使用Forms API共享应用程序逻辑和所有可能的UI代码。这意味着所有平台上的应用程序界面都非常相似

    使用非表单方法,您可以共享应用程序逻辑,然后任何UI代码都可以进入特定于平台的项目并使用特定于平台的API

    阅读您的需求,我建议您考虑使用非基于表单的方法与Xamarin共享代码,而不是使用表单


    我们为您提供了一些很好的入门信息,以及一个和。

    使用Xamarin.Forms,您可以通过使用Forms API共享应用程序逻辑和所有可能的UI代码。这意味着所有平台上的应用程序界面都非常相似

    使用非表单方法,您可以共享应用程序逻辑,然后任何UI代码都可以进入特定于平台的项目并使用特定于平台的API

    阅读您的需求,我建议您考虑使用非基于表单的方法与Xamarin共享代码,而不是使用表单


    我们有一些很好的方法可以让您开始使用这个和。

    对于具有特定于平台的UI的跨平台项目,一个很好的方法是使用或使用类似的库

    是一个示例应用程序,它通过可移植类库(PCL)共享业务逻辑,并使用MVVM模式(模型视图模型)。每个平台(Android、iOS等)都有一个单独的UI项目,并重用PCL中的功能

    这允许在不使用Xamarin.Forms的情况下共享大量业务代码,并且不会对UI造成任何影响


    对于这种方法,您应该对MVVM和依赖注入有基本的了解。

    对于具有特定于平台的UI的跨平台项目,一个好的方法是使用或类似的库

    是一个示例应用程序,它通过可移植类库(PCL)共享业务逻辑,并使用MVVM模式(模型视图模型)。每个平台(Android、iOS等)都有一个单独的UI项目,并重用PCL中的功能

    这允许在不使用Xamarin.Forms的情况下共享大量业务代码,并且不会对UI造成任何影响

    对于这种方法,您应该对MVVM和依赖项注入有基本的了解