1. 程式人生 > >今年新鮮出爐的30個流行Android庫,你一定需要

今年新鮮出爐的30個流行Android庫,你一定需要

architect 9.png 布局管理 文檔 邊框 fmt 擴展 介紹 算法

作者|Michal Bialas

2017年快過去了,你年初的定的目標都快完成了嗎?總結過去三個月內發布的 最新的30 個 Android 庫和項目。你一定需要,建議收藏!讓你事半功倍

1.MaterialStepperView

它是用Material Design實現 Steppers的 。

技術分享目前,Stepper 只有垂直視圖,但將來會有更多的風格。你可以嘗試一下,如下圖:

技術分享

你可以自定義 normal/active 兩個狀態的顏色,完成圖標,開啟動畫並設置動畫時長。可通過Github上的設置項和樣式查閱所有設置項。

該庫支持 API 17+,詳情請查閱wiki文檔。

鏈接:

https://github.com/fython/MaterialStepperView

2. MultiSnapRecyclerView

這是分屏滾動的 Android 庫。MultiSnapRecyclerView 為 RecyclerView 提供了分屏功能。

技術分享

目前提供的功能有:

  • start, endcenter三個位置的吸附;

  • snap count 指定要分屏的數量;

  • 支持水平和垂直分屏;

  • 滾動時的回調。

鏈接:

https://github.com/TakuSemba/MultiSnapRecyclerView

3. Garland View for Android

該庫實現如下的布局:

技術分享

GarlandView 外部是一個水平滾動的視圖,視圖內的每一個子視圖可垂直滾動。

你可以在 README 中找到其他重要信息,還有一個示例 App,該庫支持 API 19 及更高版本。

鏈接:

https://github.com/Ramotion/garland-view-android

4. VegaLayoutManager

這是一個自定義的布局管理器——滾動時縮小並淡出頭部。這是受到 Dribble項目的啟發。

技術分享

鏈接:

https://github.com/xmuSistone/VegaLayoutManager

5. ExpandableLayout

這個庫的名字不言而喻,它是一個基於LinearLayout的可擴展的布局。

技術分享

README 裏含有你啟動時需要的所有信息,另外,還有一個示例 App 可以幫助你快速跳轉到代碼中。

鏈接:

https://github.com/iammert/ExpandableLayout

6. SwipeBackLayout

SwipeBackLayout允許你使用手勢返回上一個界面。

你可以設置滑動方向,如從左到右、從右到左、從頂部到底部、從底部到頂部。

你還可以設置是否只能從邊緣滑動。

技術分享技術分享

SwipeBackLayout只能包含一個子布局,例如:

  • LinearLayoutRelativeLayoutFrameLayoutTableLayout等。

  • ScrollViewHorizontalScrollViewNestedScrollView等。

  • RecyclerViewAbsListView(ListView) 等子類。

  • ViewPagerWebView等。

該項目裏面有一個詳細說明的文檔、示例 APP 和一個 APK。

鏈接:

https://github.com/gongwen/SwipeBackLayout

7. SmartCropper

這是一個可以智能剪裁圖像的庫,可以識別邊框並修正裁剪後的圖像,適用於身份證、名片、文件等其他圖片文件的裁剪。

技術分享技術分享

技術分享

特征:

  • 以智能的方式裁剪圖片,還可以識別邊框;

  • 支持拖動、放大效果以提升定位體驗;

  • 使用透視變換裁剪, 可以修正先前裁剪的圖片;

  • 支持多種 UI 設置,如輔助線、蒙版、設置錨點、放大等效果。

目前,此庫采用優化點算法,CropImageView具有選擇放大效果,而且它可以使用CropImageView XML來進行設置。

鏈接:

https://github.com/pqpo/SmartCropper

8. Date Range Picker

Date Range Picker 是具有改進 UI 的自定義日期範圍選擇器。

技術分享

項目的簡介寫得很好,易於理解。

鏈接:

https://github.com/savvisingh/DateRangePicker

9. StoriesProgressView

我們都知道 Facebook 和 Instagram 展現在他們 App 上的 Stories ,這是介紹StoriesProgressView的一個庫,它可以擴展LinearLayout和允許你添加以下視圖。

技術分享

該項目包含一個簡短但詳細的 README 以及示例 App。

鏈接:

https://github.com/shts/StoriesProgressView

10. CosmoCalendar

這是一個可以自定義日歷的庫,它可以提供很多功能和 UI 設置,例如:

  • 改變日歷方向;

  • 自定義文本顏色;

  • 設置類型和顏色;

  • 定義導航按鈕等;

  • 還有很多其他功能;

技術分享

鏈接:

https://github.com/AppliKeySolutions/CosmoCalendar

11. Reflow Text Animator

相信大家都聽過 Plaid app,這是由 Shazam 工程團隊開發的。

它是 Plaid’s ReflowText 的端口,無論它們的大小或風格怎樣,都可以輕松地在同級的 TextView 之間進行轉換。

這個庫很容易使用,快去試試吧!

技術分享

鏈接:

https://github.com/shazam/reflow-animator

12. AdaptiveIconPlayground

這不是一個庫,而是由 Nick Butcher 開發的用於試驗自適應圖標的 AndroidApp。根據 README:

此應用程序可以從已安裝的 App 中查找支持自適應圖標的 APP,並將其顯示在網格中,然後你可以切換不同的蒙版形狀以匹配不同設備的顯示效果。

目前提供兩種視覺效果:

  • 滾動效果;

  • 觸摸時的尺寸縮放視差效果。

鏈接:

https://github.com/nickbutcher/AdaptiveIconPlayground

13.Tivi

技術分享

Tivi 是跟蹤電視節目的 App,它與 Track.tv 相連接,它的開發者是 Chris Banes,雖然這項開發工作仍在進行中,但它使用的都是最前沿的組件、庫和工具,其中包括 Kotlin、RxJava 2、所有架構組件(Room,LiveData 和 Lifecycle-components)。

鏈接:https://github.com/chrisbanes/tivi

14.RxIdler

這是 Espresso 的IdlingResource,它的開發者是 Square Engineering,它支持 RxJava 1 和 RxJava 2。

祝你用得愉快!

鏈接:

https://github.com/square/RxIdler

15.MRichEditor

這是一個豐富的文本編輯器(基於 summernote)。它支持多種功能,包括粗體、斜體、下劃線、快捷鍵、標題(包括六級標題)、段落、引用,有(無)序列表、代碼、水平規則、鏈接、圖像,對齊方式(居中、兩端對齊、左對齊、右對齊)、下標、上標、字體名稱和大小、縮進、減少縮進、撤消 / 還原。

技術分享技術分享

在這種情況下,你需要仔細觀察示例 App,因為它幾乎沒有文檔供你參考。

鏈接:

https://github.com/Even201314/MRichEditor

16.Android Clean Architecture Boilerplate

這是由Buffer 團隊和 Joe Birch 開發的示例 App 展示了一種 Android 應用程序的幹凈架構。

技術分享

創建此樣板的原因:

實驗模塊化;

分享一些幹凈架構實現方式;

一開始采用幹凈架構能應對未來復雜的項目需求。

該項目的 UI 和單元測試都是用 Kotlin 編寫。

它的文檔裏有詳盡的介紹,非常適合想學習的開發者,力薦!

鏈接:https://github.com/bufferapp/android-clean-architecture-boilerplate

17.RxJava2Debug

技術分享

技術分享

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,無損格式,會忽略該設置

鏈接:https://github.com/hkk595/Resizer

19.FaceDetector

該庫允許你在相機裏預覽圖片時,實時檢測人臉。它與 Fotoapparat 庫非常相似,但它也支持其他相機庫和源。

它的使用過程十分簡單,而且項目記錄相當詳細。

技術分享

鏈接:

https://github.com/Fotoapparat/FaceDetector

20.RxGps

技術分享

MapMe 與 Google Maps 和 Mapbox 配合使用,README 裏的內容很詳細,而且它是用 Kotlin 編寫的。

鏈接:https://github.com/TradeMe/MapMe

22. RevelyGradient

該庫用於顏色漸變管理。

技術分享

您可以用 Java 或 Kotlin 編寫它,項目附帶的說明文檔很簡短,但足夠你能夠使用它。

鏈接:https://github.com/revely-inc/co.revely.gradient

23. LiteUtilities

技術分享

技術分享

24.KOIN

KOIN 是一個使用 Kotlin 來編寫的依賴註入框架,它的功能是能夠推動做事的進度。

技術分享

技術分享

25.koptional

技術分享

26. Parallax

這是一個模擬 Apple TV 視差圖標的庫。

技術分享

它的README寫得非常好,值得一試。

鏈接:https://github.com/imablanco/Parallax

27.droid-vizu

Droid-vizu 旨在通過輕松交換渲染器來獲得酷炫效果,從而提供定制的可視化效果。

技術分享

鏈接:https://github.com/wotomas/droid-vizu

技術分享

技術分享

技術分享

鏈接:https://github.com/cesarferreira/drone

技術分享

技術分享

鏈接:https://github.com/cesarferreira/drone

30.Reagent

Reagent 是 Jake Wharton 總結的未來響應式庫的體驗。請不要使用。

鏈接:https://github.com/JakeWharton/Reagent

今年新鮮出爐的30個流行Android庫,你一定需要