UI相关
1.底部TabBar,最常见的问题之一
1)控制四个叠加界面,底部放一个自定义的Tab栏,让每个页面的IsVisible属性与底部的对应的Button关联
缺点:
1.由于一个Page叠加了四个页面,而且通常这个Page是作为主页的,会导致第一次进入的时候比较慢(其实原理跟TabHost很像),除非自己来做延时加载(点击的时候才加载)
2.
2)第三方库
其实TabbedPage默认就是底部的,但是Android由于使用的ActionBar实现的,默认是顶部的
https://github.com/thrive-now/BottomNavigationBarXF
这个库重写了Android部分的渲染(该库未测)
2.对话框/加载框(Dialog/Loading)
官方默认的加载框是ActivityIndicator,就是一个一直转圈的View,你需要将它事先放在界面的中心(当然也可以其它地方),然后来控制它的隐藏和显示
------事实上,大部分的系统都是这样做的,而且也节省资源
官方默认的对话框有两个,ActionSheet和Alert,我认为最傻逼的两个控件,这两个是Page里面的两个方法,也就是说需要在Page中调用
-------------------------------------
第三方:
1)UserDialogs
最重要的库之一,包含Actionsheets, alerts, confirmations, loading, login, progress, prompt, toast等这种的对话框,但是各个版本之间兼容性有问题
官方:https://github.com/aritchie/userdialogs
我的笔记:http://www.cnblogs.com/yz1311/p/5486064.html
2)Toasts
Toast通知,iOS和Android都是从顶部下滑通知的
官方:https://github.com/EgorBo/Toasts.Forms.Plugin
3.CarouselView/ViewPager/UIPageViewController
官方其实有一个这样的插件,但是大半年了,居然还是beta状态,呵呵
推荐使用一个第三方的
https://github.com/alexrainman/CarouselView
4.DataGrid
简单的:
https://github.com/akgulebubekir/Xamarin.Forms.DataGrid
复杂的(著名的控件厂商DevExpress开发)
http://components.xamarin.com/view/devexpress-grid(需要翻墙)
反馈论坛:https://www.devexpress.com/Support/Center/Question/List/1
5.动画
官方是提供了简单的动画API的,但也有一些三方的库来简化使用方法:
https://github.com/jsuarezruiz/Xamanimation
工具
1.文件读写(I/O)
官方并没有提供统一的接口,可以自己使用DependencyService来实现
----------------------
第三方:
1)PCLStorage
官方:https://github.com/dsplaisted/PCLStorage
我的笔记:http://www.cnblogs.com/yz1311/p/5500939.html
2.拍照/录像(Camea/Record)
--------------------
第三方:
1)MediaPlugin
官方:https://github.com/jamesmontemagno/MediaPlugin
PS:虽然XLabs中也集成了该控件,但是一直不更新,上面这个是一直在维护,功能也最强大
3.拨号/发邮件/发短信(Call/Email/SMS)
--------------------
第三方:
1)Messaging
官方:https://github.com/cjlotz/Xamarin.Plugins/tree/master/Messaging