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