关于Xamarin.Forms 的roadmap可以参考:https://forums.xamarin.com/discussion/85747/xamarin-forms-feature-roadmap/p1
更新Forms3.0包
- Add a new source to your NuGet Manager: https://www.myget.org/F/xamarinforms-dev/api/v3/index.json
-
Check Pre-Release
-
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
网友评论