Android開(kāi)源組件小結(jié)
前言
Android自帶的組件比較丑陋(個(gè)人感覺(jué)),自己寫(xiě)組件比較復(fù)雜,而且必須熟悉android應(yīng)用層開(kāi)發(fā)的一些機(jī)制,如繪制、回調(diào),所以非迫不得已的情況下還是不要自己寫(xiě)組件,因?yàn)榕驴紤]不周全導(dǎo)致譬如性能或異常方面的問(wèn)題,你自己寫(xiě)也會(huì)耗費(fèi)不少時(shí)間。個(gè)人覺(jué)得采用第三方UI是個(gè)不錯(cuò)的選擇,尤其是你需要比較復(fù)雜的UI組件,而且又比較趕項(xiàng)目的時(shí)候。
優(yōu)缺點(diǎn)
當(dāng)然第三方UI組件不全是優(yōu)秀的,個(gè)人總結(jié)如下:(當(dāng)然遠(yuǎn)遠(yuǎn)不止這些,歡迎討論)
優(yōu)點(diǎn):擴(kuò)展性好,比較通用(當(dāng)然也有寫(xiě)得比較爛的,這里不討論),易用、開(kāi)發(fā)速度快。
缺點(diǎn):大多數(shù)并沒(méi)有google官方的組件那么穩(wěn)定,甚至有些小問(wèn)題。一旦有問(wèn)題調(diào)試起來(lái)非常麻煩。性能有待提高。
分享幾個(gè)優(yōu)秀開(kāi)源第三方項(xiàng)目
1、GreenDroid
demos效果圖:
使用體會(huì)
個(gè)人感覺(jué)這個(gè)項(xiàng)目使用起來(lái)并不方便,尤其是你用他提供的Activity的時(shí)候必須得繼承GDApplication。(開(kāi)始不知道這些,調(diào)試了很久)。其實(shí)UI界面也是很一般,而且里面很大部分功能都可以在其他的第三方庫(kù)里面找到類(lèi)似的。里面的ActionBar默認(rèn)樣式很一般,有待美化。
需要更多了解的話你可以到官方去看看:http://android.cyrilmottier.com/?p=240
2、ActionBarSherlock
demos效果圖:
個(gè)人體會(huì)
這個(gè)項(xiàng)目的UI很漂亮,使用也很方便,demos中提供了很好的參考實(shí)例。能在低版本上實(shí)現(xiàn)ActionBar(系統(tǒng)的ActionBar在3.0以上才有)。
需要更多了解的話你可以到官方去看看:http://actionbarsherlock.com/
3、SlidingMenu
demos效果圖:
個(gè)人體會(huì)
你需要用推拉式的效果,這是個(gè)不錯(cuò)的項(xiàng)目。不過(guò)你直接用可能沒(méi)法用,它是依賴(lài)于ActionBarSherlock項(xiàng)目的。代碼中也有問(wèn)題,需要把SlidingFragmentActivity 這個(gè)類(lèi)改成繼承SherlockFragmentActivity(也就是ActionBarSherlock中的類(lèi)),因?yàn)檫@個(gè)問(wèn)題我也是找了很久都沒(méi)有解決(一直沒(méi)有懷疑過(guò)代碼問(wèn)題),后來(lái)實(shí)在不行就看看代碼才發(fā)現(xiàn)的。
需要更多了解的話你可以到官方去看看:https://github.com/jfeinstein10/SlidingMenu
注意事項(xiàng)
被引用的項(xiàng)目必須放在和引用項(xiàng)目在同一個(gè)硬盤(pán)分區(qū)中,如你新建的項(xiàng)目Test,需要引用ActionBarSherlock,那么Test和ActionBarSherlock需要放在同一個(gè)分區(qū),即同時(shí)在D盤(pán)或E盤(pán)之類(lèi)的。之前也是因?yàn)檫@個(gè)問(wèn)題花了不少時(shí)間,細(xì)節(jié)很重要啊。
總結(jié)
當(dāng)然優(yōu)秀的UI開(kāi)源項(xiàng)目遠(yuǎn)不止這幾個(gè),但是這幾個(gè)非常實(shí)用也非常有名。其他還有android-misc-widgets、QuickAction、viewbadger、viewflow...太多了。根據(jù)個(gè)人需要去了解吧。好了到此為止,如果有需要的話也可以把剛剛說(shuō)的幾個(gè)UI組件整理一下。
PS:文中有不妥之處請(qǐng)讀者指出,歡迎交流。
- android WebView組件使用總結(jié)
- Android組件間通信--深入理解Intent與IntentFilter
- Android自定義View設(shè)定到FrameLayout布局中實(shí)現(xiàn)多組件顯示的方法 分享
- android RadioButton和CheckBox組件的使用方法
- android開(kāi)發(fā)教程之view組件添加邊框示例
- android Gallery組件實(shí)現(xiàn)的iPhone圖片滑動(dòng)效果實(shí)例
- Android實(shí)現(xiàn)動(dòng)態(tài)切換組件背景的方法
- Android開(kāi)發(fā)之時(shí)間日期組件用法實(shí)例
- 三款A(yù)ndroid炫酷Loading動(dòng)畫(huà)組件推薦
- android編程實(shí)現(xiàn)電話錄音的方法
- Android開(kāi)發(fā)四大組件之實(shí)現(xiàn)電話攔截和電話錄音
相關(guān)文章
Android常用控件ImageSwitcher使用方法詳解
這篇文章主要為大家詳細(xì)介紹了Android常用控件ImageSwitcher的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08Android BroadcastReceiver實(shí)現(xiàn)網(wǎng)絡(luò)狀態(tài)實(shí)時(shí)監(jiān)聽(tīng)
這篇文章主要為大家詳細(xì)介紹了Android BroadcastReceiver實(shí)現(xiàn)網(wǎng)絡(luò)狀態(tài)實(shí)時(shí)監(jiān)聽(tīng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05Android實(shí)現(xiàn)圖片的高斯模糊(兩種方式)
本文給大家分享兩種實(shí)現(xiàn)圖片的高斯模糊效果,非常不錯(cuò),具有參考借鑒價(jià)值,對(duì)android圖片高斯模糊效果感興趣的朋友一起看看吧2017-03-03Flutter調(diào)用Android和iOS原生代碼的方法示例
這篇文章主要給大家介紹了關(guān)于Flutter調(diào)用Android和iOS原生代碼的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Flutter具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Android開(kāi)發(fā)中WebView的簡(jiǎn)單使用小結(jié)
WebView(網(wǎng)絡(luò)視圖)能加載顯示網(wǎng)頁(yè),可以將其視為一個(gè)瀏覽器。它使用了WebKit渲染引擎加載顯示網(wǎng)頁(yè)。下面這篇文章給大家總結(jié)了Android中WebView的簡(jiǎn)單使用,有需要的可以參考借鑒。2016-09-09Android使用gradle讀取并保存數(shù)據(jù)到BuildConfg流程詳解
這篇文章主要介紹了Android使用gradle從資源目錄讀取數(shù)據(jù)并存到BuildConfg內(nèi),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-02-02Android TabLayout設(shè)置指示器寬度的方法
本篇文章主要介紹了Android TabLayout設(shè)置指示器寬度的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04Android10 分區(qū)存儲(chǔ)的適配規(guī)則
Android設(shè)備 在Sdk29己以上推出了分區(qū)存儲(chǔ),類(lèi)似iOS沙箱。應(yīng)用App 目標(biāo)版本號(hào)為29或以上則需要適配分區(qū)存儲(chǔ),本文將具體的講解適配規(guī)則2021-05-05