从2015年接触Xamarin到至今曾经2个岁首,我对Xamarin的技术没有长进几多,但它却曾经足够成熟到在跨平台挪动开辟东西中拥有一席之地。在扫了一些材料之后,俄然发觉国外有良多挪动端的使用曾经是用Xamarin开辟,Telerik还有特地的团队来开辟Xamarin UI 库,这再次激倡议了我的乐趣!吓得我赶紧找了个视频做了个demo, 下面就一路来体验一下用C# 开辟一个Material Deisgn气概的Android使用的乐趣吧。
先来看一下我们开辟出来的使用是个什么样子?一个酷炫的tab view 和 list
整个例子中好玩的处所很是多,我们分为UI和C#代码两块来看。由于在整个UI层几乎是和原生Android开辟一模一样,所以若是本来做过Android开辟又懂C#,那用Xamarin来开辟安卓法式几乎是没有什么进修成本 。那么对于没有Android开辟经验的C#同窗来说,进修Android的UI绘制则是必不成少的部份。
Android的页面视图由XML来声明,而所有页面的这些UI组件都由一个结构(Layout)来组织。Android最早一共供给了6种根基结构。
关于Material Deisgn曾经有一份很是细致的中文文档,Google在2014年推出的全新的设想言语,这种设想言语旨在为手机、平板电脑、台式机和“其他平台”供给更分歧、更普遍的“外观和感受”。Google遵照MD设想气概重构了本人的几个次要APP并发布了安卓的DesignSupportLibrary来让大师更好地开辟基于这种设想气概的APP。
因为后面的三个CoordinatorLayout、CollapsingToolbar以及RecyclerView相对来说会有些复杂,所有我们后面会留特地的篇幅来讲,感乐趣的同窗能够本人先研究起来或者关心后面的博客~
TabLayout能够说是一个很是好用的视图,你几乎在每一个支流的APP里面都能够看到。我们用Support Library实现起来就很是的便利,下面是这几个组件的布局,ViewPager与AppBarLayout同级。
这里不太想给大师展现太多关于UI层的代码,若是感乐趣的同窗能够间接到我的GitHub里面去下载。我们次要看一下C#若何在ViewPager里面放视图同时与TabLayout联系关系起来。只需要3步:
在NavigationView的利用上,有两个属性需要留意一下。xamarin安卓一个左侧菜单分为两部份:headerLayout和menu。
所以我们需要有别的两个文件nav_header和drawer_view来共同一路完成这个菜单视图。
在VS把持UI组件是一件很是简单的事。找到这个控件,接下来一切都变得简单,和之前的winform以及webform几乎是没有两样。
在上面的代码中我们找到了 btnSelectDate的代码,然后绑定了它的Click事务来打开一个选择日期的Dialog。这里的事务处置我们用的是一个匿名方式。
而在这个Dialog的OnDateSelected事务我们则绑定了一个声明方式。注:OnDateSelected这个事务是我们本人声明的,而这个声明方式,相信大师不会感觉目生。
其实这里的多线程本不需要被提起,我只是为了向大师展现一下,这种线%C#来写。终究,越小的差别对于我们来说进修成本就越小。只是这里要留意一下,若是在非主线程中要操作UI,则需要挪用RunOnUiThread(这名字起的也是好。。)
在这个流行全干的时代,我想每小我都该当懂挪动端开辟。Xamarin为我们供给了一种简单、高效的体例来开辟强大的、如原生般体验的APP。连系C#文雅的语法和宇宙最强大的IDE,这个工作也许值得一试。