关于Xamarin.Forms 的roadmap可以参考:https://forums.xamarin.com/discussion/85747/xamarin-forms-feature-roadmap/p1

更新Forms3.0包

  1. Add a new source to your NuGet Manager: https://www.myget.org/F/xamarinforms-dev/api/v3/index.json
  2. Check Pre-Release
  3. Select and install the package with the feature name “Embedding” – 3.0.0.100-embeddingpreview

Xamarin.Forms 是建立在Xamarin.iOS 和 Xamarin.Android基础上的,所以Xamarin.Forms 的页面和Xamarin.iOS、Xamarin.Android的页面应该是可以相互调用的。

Xamarin.iOS、Xamarin.Android中嵌入Forms页面是Forms3.0的一个新功能。

Xamarin Native页面和Forms页面相互跳转

iOS效果图
Android效果图

新建一个Blank Native App

在公共项目中定义一个Forms Page

Button的Click响应代码为:

通过MessagingCenter.Send发送消息通知。

核心介绍

Forms 页面嵌入到Xamarin.iOS或Xamarin.Android原生项目中核心代码是调用Forms.Init()方法初始化,后续再调用Forms Page对象的扩展方法创建对应实例。iOS中为CreateViewController方法创建对应的UIViewController。Android中为CreateFragment方法创建对应的Fragment,再次说明Xamarin.Forms的Android程序只有一个Activity,每个页面都是一个Fragment。UWP中为CreateFrameworkElement方法。

修改iOS Native项目代码

核心代码为先调用Forms.Init()方法初始化,后续再调用Forms Page对象的CreateViewController方法创建对应的UIViewController。
在AppDelegate中增加如下代码:

通过MessagingCenter.Subscribe订阅消息以响应Forms Page中的按钮点击事件。

同时增加一个ShowFormsPage方法:

Native Page 跳转到Forms Page:

Storyboard中布局和iOS原生开发相关知识不做过多介绍。

修改Android Native项目代码

首先修改MainActivity中布局由FrameLayout实现。

修改MainActivity中的OnCreate方法:

MainActivity中增加代码:


文中只给出了部分代码片段,完整项目地址:https://github.com/MyueX/forms3.0_1

获取最新咨询请关注公众号:XamarinTop或扫描如下二维码

XamarinTop

最后更新: 2017年11月04日 10:41

原始链接: http://xamarin.xyz/2017/06/09/Xamarin-Forms-3-0初体验(一)/