Android開(kāi)發(fā)技術(shù)越來(lái)越成熟,Android開(kāi)發(fā)工具當(dāng)然也層出疊現(xiàn)。本文就向大家介紹今年最新的深受開(kāi)發(fā)者喜愛(ài)的30個(gè)Android庫(kù)。希望對(duì)你的Android開(kāi)發(fā)工作能起到助力。
1.
它是用Material Design實(shí)現(xiàn)Steppers的。
目前,Stepper只有垂直視圖,但將來(lái)會(huì)有更多的風(fēng)格。你可以嘗試一下,如下圖:
你可以自定義normal/active兩個(gè)狀態(tài)的顏色,完成圖標(biāo),開(kāi)啟動(dòng)畫并設(shè)置動(dòng)畫時(shí)長(zhǎng)。可通過(guò)Github上的設(shè)置項(xiàng)和樣式查閱所有設(shè)置項(xiàng)。該庫(kù)支持API 17+,詳情請(qǐng)查閱wiki文檔。
2.
這是分屏滾動(dòng)的Android庫(kù)。
MultiSnapRecyclerView為RecyclerView提供了分屏功能。
目前提供的功能有:
- start, end和center三個(gè)位置的吸附,
- snap count 指定要分屏的數(shù)量,
- 支持水平和垂直分屏,
- 滾動(dòng)時(shí)的回調(diào)。
3.
該庫(kù)可實(shí)現(xiàn)如下的布局:
GarlandView 外部是一個(gè)水平滾動(dòng)的視圖,視圖內(nèi)的每一個(gè)子視圖可垂直滾動(dòng)。
你可以在README中找到其他重要信息。還有一個(gè)示例App。該庫(kù)支持API 19及更高版本。
4.
這是一個(gè)自定義的布局管理器——滾動(dòng)時(shí)縮小并淡出頭部。這是受到Dribble項(xiàng)目的啟發(fā)。
5.
這個(gè)庫(kù)的名字不言而喻,它是一個(gè)基于LinearLayout的可擴(kuò)展的布局。
README里含有你啟動(dòng)時(shí)需要的所有信息,另外,還有一個(gè)示例App可以幫助你快速跳轉(zhuǎn)到代碼中。
6.
SwipeBackLayout允許你使用手勢(shì)返回上一個(gè)界面。
你可以設(shè)置滑動(dòng)方向,如從左到右、從右到左、從頂部到底部、從底部到頂部。
你還可以設(shè)置是否只能從邊緣滑動(dòng)。
SwipeBackLayout只能包含一個(gè)子布局,例如:
- LinearLayout,RelativeLayout,F(xiàn)rameLayout,TableLayout等。
- ScrollView,HorizontalScrollView,NestedScrollView等。
- RecyclerView,AbsListView(ListView)等子類。
- ViewPager,WebView等。
該項(xiàng)目里面有一個(gè)詳細(xì)說(shuō)明的文檔、示例APP和一個(gè)APK。
7.
這是一個(gè)可以智能剪裁圖像的庫(kù),可以識(shí)別邊框并修正裁剪后的圖像,適用于身份證、名片、文件等其他圖片文件的裁剪。
特征:
- 以智能的方式裁剪圖片,還可以識(shí)別邊框;
- 支持拖動(dòng)、放大效果以提升定位體驗(yàn);
- 使用透視變換裁剪,可以修正先前裁剪的圖片;
- 支持多種UI設(shè)置,如輔助線、蒙版、設(shè)置錨點(diǎn)、放大等效果。
目前,此庫(kù)采用優(yōu)化點(diǎn)算法,CropImageView具有選擇放大效果,而且它可以使用CropImageView XML來(lái)進(jìn)行設(shè)置。
8.
Date Range Picker是具有改進(jìn)UI的自定義日期范圍選擇器。

項(xiàng)目的簡(jiǎn)介寫得很好,易于理解。
9.
我們都知道Facebook和Instagram展現(xiàn)在他們App上的Stories ,這是介紹StoriesProgressView的一個(gè)庫(kù),它可以擴(kuò)展LinearLayout和允許你添加以下視圖。
該項(xiàng)目包含一個(gè)簡(jiǎn)短但詳細(xì)的README以及示例App。
10.
這是一個(gè)可以自定義日歷的庫(kù),它可以提供很多功能和UI設(shè)置,例如:
- 改變?nèi)諝v方向;
- 自定義文本顏色;
- 設(shè)置類型和顏色;
- 定義導(dǎo)航按鈕等;
- 還有很多其他功能;
11.
相信大家都聽(tīng)過(guò)Plaid app,這是由Shazam工程團(tuán)隊(duì)開(kāi)發(fā)的。
它是Plaid’s ReflowText的端口,無(wú)論它們的大小或風(fēng)格怎樣,都可以輕松地在同級(jí)的TextView之間進(jìn)行轉(zhuǎn)換。
這個(gè)庫(kù)很容易使用,快去試試吧!
12.
這不是一個(gè)庫(kù),而是由Nick Butcher開(kāi)發(fā)的用于試驗(yàn)自適應(yīng)圖標(biāo)的AndroidApp。根據(jù)README:
此應(yīng)用程序可以從已安裝的App中查找支持自適應(yīng)圖標(biāo)的App,并將其顯示在網(wǎng)格中,然后你可以切換不同的蒙版形狀以匹配不同設(shè)備的顯示效果。
目前提供兩種視覺(jué)效果:
- 滾動(dòng)效果;
- 觸摸時(shí)的尺寸縮放視差效果;
13.
Tivi是跟蹤電視節(jié)目的App,它與Track.tv相連接,它的開(kāi)發(fā)者是Chris Banes,雖然這項(xiàng)開(kāi)發(fā)工作仍在進(jìn)行中,但它使用的都是最前沿的組件、庫(kù)和工具,其中包括Kotlin、RxJava 2、所有架構(gòu)組件(Room,LiveData和Lifecycle-components)。
14.
這是Espresso的IdlingResource
它的開(kāi)發(fā)者是 Square Engineering
它支持RxJava 1 和 RxJava 2,祝你用得愉快!
15.
這是一個(gè)豐富的文本編輯器(基于summernote)。
它支持多種功能,包括粗體、斜體、下劃線、快捷鍵、標(biāo)題(包括六級(jí)標(biāo)題)、段落、引用,有(無(wú))序列表、代碼、水平規(guī)則、鏈接、圖像,對(duì)齊方式(居中、兩端對(duì)齊、左對(duì)齊、右對(duì)齊)、下標(biāo)、上標(biāo)、字體名稱和大小、縮進(jìn)、減少縮進(jìn)、撤消/還原。
在這種情況下,你需要仔細(xì)觀察示例App,因?yàn)樗鼛缀鯖](méi)有文檔供你參考。
16.
Buffer團(tuán)隊(duì)和Joe Birch開(kāi)發(fā)的示例App展示了一種Android應(yīng)用程序的干凈架構(gòu)。
創(chuàng)建此樣板的原因:
實(shí)驗(yàn)?zāi)K化;
分享一些干凈架構(gòu)實(shí)現(xiàn)方式;
一開(kāi)始采用干凈架構(gòu)能應(yīng)對(duì)未來(lái)復(fù)雜的項(xiàng)目需求。
該項(xiàng)目的UI和單元測(cè)試都是用Kotlin編寫。
它的文檔里有詳盡的介紹,非常適合想學(xué)習(xí)的開(kāi)發(fā)者,力薦!
17.
使用過(guò)RxJava會(huì)發(fā)現(xiàn)有時(shí)很難讀取異常,很難在Rx流中定位到問(wèn)題。這就是為什么這個(gè)庫(kù)被創(chuàng)建的原因。你可以在README中閱讀更多關(guān)于的內(nèi)容。
這個(gè)庫(kù)的功能有:
18.
Resizer是一個(gè)輕量級(jí)的,而且易于使用的Android庫(kù),用于圖像縮放。它允許你將圖像文件放大或縮小的同時(shí),保持寬高比。
這個(gè)項(xiàng)目的靈感來(lái)自于Compressor。
說(shuō)明書:
Minimum SDK: API 21
默認(rèn)設(shè)置:
- targetLength: 1080
- quality: 80
- outputFormat: JPEG
- outputDirPath: the external files directory of your app
支持的輸入格式:
支持的輸出格式
支持的圖像質(zhì)量范圍:0~100
- 值越大,圖像質(zhì)量越好同時(shí)圖片越大
- PNG,無(wú)損格式,會(huì)忽略該設(shè)置
19.
該庫(kù)允許你在相機(jī)里預(yù)覽圖片時(shí),實(shí)時(shí)檢測(cè)人臉。它與Fotoapparat庫(kù)非常相似,但它也支持其他相機(jī)庫(kù)和源。
它的使用過(guò)程十分簡(jiǎn)單,而且項(xiàng)目記錄相當(dāng)詳細(xì)。
20.
它的開(kāi)發(fā)者是Florent Champigny,它很容易找到我們各自的定位。
它兼容RxJava2,它還自動(dòng)申請(qǐng)GPS的運(yùn)行權(quán)限,并查看當(dāng)下的服務(wù)是否適合您。
21.
MapMe是一個(gè)搭配地圖功能使用的Android庫(kù)。
MapMe將適配器模式帶到Maps,簡(jiǎn)化了標(biāo)記和注釋的管理。
MapMe與Google Maps和Mapbox配合使用,README 里的內(nèi)容很詳細(xì),而且它是用Kotlin編寫的。
22.
該庫(kù)用于顏色漸變管理。
您可以用Java或Kotlin編寫它,項(xiàng)目附帶的說(shuō)明文檔很簡(jiǎn)短,但足夠你能夠使用它。
23.
這是一個(gè)用Kotlin編寫的庫(kù),它有助于從代碼中消除樣板。目前它的功能有:
- RecyclerUtils—— 省去設(shè)置適配器的麻煩,現(xiàn)在只需4行代碼就可以設(shè)置好適配器。
- ScrollUtils—— 使用RecyclerView或NestedScrollView時(shí),可以以輕松隱藏/滾動(dòng)顯示FloateActionButton。
- ToastUtils—— 用于創(chuàng)建toasts。
- SPUtils—— 用于共享選項(xiàng)的簡(jiǎn)單DSL。
- ValidatorUtils—— 可以快速而輕易地進(jìn)行文本檢驗(yàn)。
- LogUtils—— 簡(jiǎn)單易用的Android日志記錄。
24.
KOIN是一個(gè)使用Kotlin來(lái)編寫的依賴注入框架,它的功能是能夠推動(dòng)做事的進(jìn)度。
據(jù)作者介紹,它
- 沒(méi)有代理/ CGLib
- 沒(méi)有代碼生成
- 沒(méi)有內(nèi)省
它的說(shuō)明文檔寫得很棒,有示例和wiki,還有聯(lián)系方式。
25.
是那些總試圖讓自己的安全系統(tǒng)更加順暢的Kotlin極簡(jiǎn)主義者的理想選擇。
作者給出的理由是:
由于具有空值安全特性,Kotlin不需要可選值類型。但是有 RxJava2 這樣的 APIs 和庫(kù)不接受空值導(dǎo)致 Kotlin 仍然需要支持可選值類型。
大多數(shù)情況下可以使用sealed class來(lái)表示空值,然而像向 Rx 流傳遞String?這種情況,可選值類型是更好的選擇。
26.
這是一個(gè)模擬Apple TV 視差圖標(biāo)的庫(kù)。
它的README寫得非常好,值得一試。
27.
Droid-vizu旨在通過(guò)輕松交換渲染器來(lái)獲得酷炫效果,從而提供定制的可視化效果.
28.
這不是Android庫(kù),而是由CésarFerreira提供的庫(kù)的管理者。它是由于對(duì)java社區(qū)的嫉妒,因?yàn)樗麄兊目焖倏煽康囊蕾嚬芾砥鳌R虼耍恍鑸?zhí)行以下操作:谷歌搜索一個(gè)庫(kù),檢查,閱讀文檔等。
drone add creator/library module
例如:
drone add jakewharton/butterknife
29.
這是一個(gè)涵蓋在Android上創(chuàng)建整潔UI的項(xiàng)目。這一次,SaúlMolinero涵蓋:
- 使Alex Lockwood的ShapeShifter工具
- AndroidVectorDrawables
- ScaleDrawables
- 自適應(yīng)圖標(biāo)等。
30.
Reagent是Jake Wharton總結(jié)的未來(lái)響應(yīng)式庫(kù)的體驗(yàn)。
標(biāo)簽:
Android
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn