Xamarin.Forms 3.0初体验(一)

关于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
    Xamarin.Forms 3.0初体验(一)_第1张图片
  2. Check Pre-Release


  3. Select and install the package with the feature name “Embedding” – 3.0.0.100-embeddingpreview


    Xamarin.Forms 3.0初体验(一)_第2张图片

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


Xamarin.Forms 3.0初体验(一)_第3张图片

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

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

Xamarin.Forms 3.0初体验(一)_第4张图片
iOS效果图

Xamarin.Forms 3.0初体验(一)_第5张图片
Android效果图

新建一个Blank Native App

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

Xamarin.Forms 3.0初体验(一)_第6张图片

Button的Click响应代码为:

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

Xamarin.Forms 3.0初体验(一)_第7张图片

核心介绍

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中增加如下代码:

Xamarin.Forms 3.0初体验(一)_第8张图片

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

同时增加一个ShowFormsPage方法:

Xamarin.Forms 3.0初体验(一)_第9张图片

Native Page 跳转到Forms Page:

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

修改Android Native项目代码

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

Xamarin.Forms 3.0初体验(一)_第10张图片

修改MainActivity中的OnCreate方法:

MainActivity中增加代码:

Xamarin.Forms 3.0初体验(一)_第11张图片

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

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

Xamarin.Forms 3.0初体验(一)_第12张图片
XamarinTop

你可能感兴趣的:(Xamarin.Forms 3.0初体验(一))