Android開發技術愈來愈成熟,Android開發工具固然也層出疊現。本文就向你們介紹今年最新的深受開發者喜好的30個Android庫。但願對你的Android開發工做能起到助力。html
1.MaterialStepperView
它是用Material Design實現Steppers的。
目前,Stepper只有垂直視圖,但未來會有更多的風格。你能夠嘗試一下.
你能夠自定義normal/active兩個狀態的顏色,完成圖標,開啓動畫並設置動畫時長。可經過Github上的設置項和樣式查閱全部設置項。該庫支持API 17+,詳情請查閱wiki文檔。java
2. MultiSnapRecyclerView
這是分屏滾動的Android庫。
MultiSnapRecyclerView爲RecyclerView提供了分屏功能。
目前提供的功能有:
start, end和center三個位置的吸附,
snap count 指定要分屏的數量,
支持水平和垂直分屏,
滾動時的回調。 算法
3. Garland View for Android
GarlandView 外部是一個水平滾動的視圖,視圖內的每個子視圖可垂直滾動。
你能夠在README中找到其餘重要信息。還有一個示例App。該庫支持API 19及更高版本。安全
4. VegaLayoutManager
這是一個自定義的佈局管理器——滾動時縮小並淡出頭部。這是受到Dribble項目的啓發。架構
5. ExpandableLayout
這個庫的名字不言而喻,它是一個基於LinearLayout的可擴展的佈局。
README裏含有你啓動時須要的全部信息,另外,還有一個示例App能夠幫助你快速跳轉到代碼中。app
6. SwipeBackLayout
SwipeBackLayout容許你使用手勢返回上一個界面。
你能夠設置滑動方向,如從左到右、從右到左、從頂部到底部、從底部到頂部。
你還能夠設置是否只能從邊緣滑動。
SwipeBackLayout只能包含一個子佈局,例如:
LinearLayout,RelativeLayout,FrameLayout,TableLayout等。
ScrollView,HorizontalScrollView,NestedScrollView等。
RecyclerView,AbsListView(ListView)等子類。
ViewPager,WebView等。
該項目裏面有一個詳細說明的文檔、示例APP和一個APK。框架
7. SmartCropper
這是一個能夠智能剪裁圖像的庫,能夠識別邊框並修正裁剪後的圖像,適用於身份證、名片、文件等其餘圖片文件的裁剪。編輯器
特徵:
以智能的方式裁剪圖片,還能夠識別邊框;
支持拖動、放大效果以提高定位體驗;
使用透視變換裁剪,能夠修正先前裁剪的圖片;
支持多種UI設置,如輔助線、蒙版、設置錨點、放大等效果。
目前,此庫採用優化點算法,CropImageView具備選擇放大效果,並且它可使用CropImageView XML來進行設置。模塊化
8. Date Range Picker
Date Range Picker是具備改進UI的自定義日期範圍選擇器。
項目的簡介寫得很好,易於理解。工具
9. StoriesProgressView
咱們都知道Facebook和Instagram展示在他們App上的Stories ,這是介紹StoriesProgressView的一個庫,它能夠擴展LinearLayout和容許你添加如下視圖。
該項目包含一個簡短但詳細的README以及示例App。
10. CosmoCalendar
這是一個能夠自定義日曆的庫,它能夠提供不少功能和UI設置,例如:
改變日曆方向;
自定義文本顏色;
設置類型和顏色;
定義導航按鈕等;
還有不少其餘功能;
11. Reflow Text Animator
相信你們都聽過Plaid app,這是由Shazam工程團隊開發的。
它是Plaid’s ReflowText的端口,不管它們的大小或風格怎樣,均可以輕鬆地在同級的TextView之間進行轉換。
這個庫很容易使用,快去試試吧!
12. AdaptiveIconPlayground
這不是一個庫,而是由Nick Butcher開發的用於試驗自適應圖標的AndroidApp。根據README:
此應用程序能夠從已安裝的App中查找支持自適應圖標的App,並將其顯示在網格中,而後你能夠切換不一樣的蒙版形狀以匹配不一樣設備的顯示效果。
目前提供兩種視覺效果:
滾動效果;
觸摸時的尺寸縮放視差效果;
13.Tivi
Tivi是跟蹤電視節目的App,它與Track.tv相鏈接,它的開發者是Chris Banes,雖然這項開發工做仍在進行中,但它使用的都是最前沿的組件、庫和工具,其中包括Kotlin、RxJava 二、全部架構組件(Room,LiveData和Lifecycle-components)。
14.RxIdler
這是Espresso的IdlingResource
它的開發者是 Square Engineering
它支持RxJava 1 和 RxJava 2,祝你用得愉快!
15.MRichEditor
這是一個豐富的文本編輯器(基於summernote)。
它支持多種功能,包括粗體、斜體、下劃線、快捷鍵、標題(包括六級標題)、段落、引用,有(無)序列表、代碼、水平規則、連接、圖像,對齊方式(居中、兩端對齊、左對齊、右對齊)、下標、上標、字體名稱和大小、縮進、減小縮進、撤消/還原。
在這種狀況下,你須要仔細觀察示例App,由於它幾乎沒有文檔供你參考。
16.Android Clean Architecture Boilerplate
Buffer團隊和Joe Birch開發的示例App展現了一種Android應用程序的乾淨架構。
建立此樣板的緣由:
實驗模塊化;
分享一些乾淨架構實現方式;
一開始採用乾淨架構能應對將來複雜的項目需求。
該項目的UI和單元測試都是用Kotlin編寫。
它的文檔裏有詳盡的介紹,很是適合想學習的開發者,力薦!
17.RxJava2Debug
使用過RxJava會發現有時很難讀取異常,很難在Rx流中定位到問題。這就是爲何這個庫被建立的緣由。你能夠在README中閱讀更多關於的內容。
這個庫的功能有:
生成堆棧軌跡
過濾堆棧軌跡
18. Resizer
Resizer是一個輕量級的,並且易於使用的Android庫,用於圖像縮放。它容許你將圖像文件放大或縮小的同時,保持寬高比。
這個項目的靈感來自於Compressor。
說明書:
Minimum SDK: API 21
默認設置:
targetLength: 1080
quality: 80
outputFormat: JPEG
outputDirPath: the external files directory of your app
支持的輸入格式:
BMP
GIF
JPEG
PNG
WEBP
支持的輸出格式
JPEG
PNG
WEBP
支持的圖像質量範圍:0~100
值越大,圖像質量越好同時圖片越大
PNG,無損格式,會忽略該設置
19.FaceDetector
該庫容許你在相機裏預覽圖片時,實時檢測人臉。它與Fotoapparat庫很是類似,但它也支持其餘相機庫和源。
它的使用過程十分簡單,並且項目記錄至關詳細。
20.RxGps
它的開發者是Florent Champigny,它很容易找到咱們各自的定位。
它兼容RxJava2,它還自動申請GPS的運行權限,並查看當下的服務是否適合您。
21. MapMe
MapMe是一個搭配地圖功能使用的Android庫。
MapMe將適配器模式帶到Maps,簡化了標記和註釋的管理。
MapMe與Google Maps和Mapbox配合使用,README 裏的內容很詳細,並且它是用Kotlin編寫的。
22. RevelyGradient
該庫用於顏色漸變管理。
您能夠用Java或Kotlin編寫它,項目附帶的說明文檔很簡短,但足夠你可以使用它。
23. LiteUtilities
這是一個用Kotlin編寫的庫,它有助於從代碼中消除樣板。目前它的功能有:
RecyclerUtils—— 省去設置適配器的麻煩,如今只需4行代碼就能夠設置好適配器。
ScrollUtils—— 使用RecyclerView或NestedScrollView時,能夠以輕鬆隱藏/滾動顯示FloateActionButton。
ToastUtils—— 用於建立toasts。
SPUtils—— 用於共享選項的簡單DSL。
ValidatorUtils—— 能夠快速而輕易地進行文本檢驗。
LogUtils—— 簡單易用的Android日誌記錄。
24.KOIN
KOIN是一個使用Kotlin來編寫的依賴注入框架,它的功能是可以推進作事的進度。
據做者介紹,它
沒有代理/ CGLib
沒有代碼生成
沒有內省
它的說明文檔寫得很棒,有示例和wiki,還有聯繫方式。
25.koptional
是那些總試圖讓本身的安全系統更加順暢的Kotlin極簡主義者的理想選擇。
做者給出的理由是:
因爲具備空值安全特性,Kotlin不須要可選值類型。可是有 RxJava2 這樣的 APIs 和庫不接受空值致使 Kotlin 仍然須要支持可選值類型。
大多數狀況下可使用sealed class來表示空值,然而像向 Rx 流傳遞String?這種狀況,可選值類型是更好的選擇。
26. Parallax
這是一個模擬Apple TV 視差圖標的庫。
它的README寫得很是好,值得一試。
27.droid-vizu
Droid-vizu旨在經過輕鬆交換渲染器來得到酷炫效果,從而提供定製的可視化效果.
28.Drone
這不是Android庫,而是由CésarFerreira提供的庫的管理者。它是因爲對java社區的嫉妒,由於他們的快速可靠的依賴管理器。所以,您只需執行如下操做:谷歌搜索一個庫,檢查,閱讀文檔等。
drone add creator/library module
例如:
drone add jakewharton/butterknife
29.From-design-to-Android-part2
這是一個涵蓋在Android上建立整潔UI的項目。這一次,SaúlMolinero涵蓋:
使Alex Lockwood的ShapeShifter工具
AndroidVectorDrawables
ScaleDrawables
自適應圖標等。
30.ReagentReagent是Jake Wharton總結的將來響應式庫的體驗。