前言
Android內建的組件比較醜陋(個人感覺),自己寫組件比較複雜,而且必須熟悉android應用程式層開發的一些機制,如繪製、回調,所以非迫不得已的情況下還是不要自己寫組件,因為怕考慮不周全導致譬如效能或異常方面的問題,你自己寫也會耗費不少時間。個人覺得採用第三方UI是個不錯的選擇,尤其是你需要比較複雜的UI組件,而且又比較趕項目的時候。
優缺點
當然第三方UI組件不全是優秀的,個人總結如下:(當然遠遠不止這些,歡迎討論)
優點:擴充性好,比較通用(當然也有寫得比較爛的,這裡不討論),易用、開發速度快。
缺點:大多數並沒有google官方的組件那麼穩定,甚至有些小問題。一旦有問題調試起來非常麻煩。效能有待提高。
分享幾個優秀開源第三方項目
1、GreenDroid
demos:
使用體會
個人感覺這個項目使用起來並不方便,尤其是你用他提供的Activity的時候必須得繼承GDApplication。(開始不知道這些,調試了很久)。其實UI介面也是很一般,而且裡面很大部分功能都可以在其他的第三方庫裡面找到類似的。裡面的ActionBar預設樣式很一般,有待美化。
需要更多瞭解的話你可以到官方去看看:http://android.cyrilmottier.com/?p=240
2、ActionBarSherlock
demos:
個人體會
這個項目的UI很漂亮,使用也很方便,demos中提供了很好的參考執行個體。能在低版本上實現ActionBar(系統的ActionBar在3.0以上才有)。
需要更多瞭解的話你可以到官方去看看:http://actionbarsherlock.com/
3、SlidingMenu
demos:
個人體會
你需要用推拉式的效果,這是個不錯的項目。不過你直接用可能沒法用,它是依賴於ActionBarSherlock項目的。代碼中也有問題,需要把SlidingFragmentActivity 這個類改成繼承SherlockFragmentActivity(也就是ActionBarSherlock中的類),因為這個問題我也是找了很久都沒有解決(一直沒有懷疑過代碼問題),後來實在不行就看看代碼才發現的。
需要更多瞭解的話你可以到官方去看看:https://github.com/jfeinstein10/SlidingMenu
注意事項
被引用的項目必須放在和引用項目在同一個硬碟分區中,如你建立的項目Test,需要引用ActionBarSherlock,那麼Test和ActionBarSherlock需要放在同一個分區,即同時在D盤或E盤之類的。之前也是因為這個問題花了不少時間,細節很重要啊。
總結
當然優秀的UI開源項目遠不止這幾個,但是這幾個非常實用也非常有名。其他還有android-misc-widgets、QuickAction、viewbadger、viewflow...太多了。根據個人需要去瞭解吧。好了到此為止,如果有需要的話也可以把剛剛說的幾個UI組件整理一下。
PS:文中有不妥之處請讀者指出,歡迎交流。