将Xamarin.Forms添加到现有的Xamarin应用程序中

时间:2014-10-02 01:15:19

标签: xamarin mvvmcross xamarin.forms

我正在尝试将Xamarin.Forms页面添加到现有的Xamarin Android应用程序中。

我正在努力弄清楚如何混合原生Xamarin Android页面和Xamarin.Forms页面。

我见过的所有文章和示例都描述了Forms或Xamarin应用程序,而不是两者的混合。

到目前为止,我读到的最好的想法是添加一个本机存根,并用Xamarin.Forms内容替换内容,但我不知道如何实现这一点。

更新

我正在使用MvvmCross,所以我的android视图继承自MvxActivity。我有一个StackLayout包含使用Xamarin.Forms的视图。如何让XF转换为Android代码,以便我可以使用SetContentView?

1 个答案:

答案 0 :(得分:2)

当您创建新的 Xamarin.Forms 项目时,例如使用 SharedProject 方法,它将创建将为您执行的启动器项目和初始类文件对于每个平台。

例如,在 Android 上,这是在 MainActivity.cs 中。如果您查看此文件,您会发现它继承自 AndroidActivity ,后者继承自活动,这是活动中使用的典型类。

因此,您可以使用两种方法来创建混合混合解决方案: -

1)如果要显示 Xamarin.Forms ,请继续平台特定 存根页中的 AndroidActivity 强>内容,或者

2)继承活动,并照常执行。

如果您想在存根页面中显示 Xamarin.Forms 页面,那么您可以在 OnCreate 方法: -

 SetPage({some class that returns a Xamarin.Forms.Page object, i.e. ContentPage});

然后,您可以使用特定于 Android 的常规导航来显示 Xamarin.Forms 页面或特定于平台的活动页。