1.Coil
github地址:https://github.com/coil-kt/coil
kotlin編寫
使用協程編寫的Android圖片加載庫。相比於Glide,Picasso,Fresco 它更快速、輕量、易上手、現代的Android加載庫。
支持GiF和SVG,同時支持四種默認的圖像變換: 模糊效果、
圓形、灰階、圓角等等
基礎代碼爲:
imageView.load(“https://www.example.com/image.jpg") {
crossfade(true)
placeholder(R.drawable.image)
transformations(CircleCropTransformation())
}
我這篇文章對Coil有個簡單的用法介紹。
2.MultiSearchView
github地址: https://github.com/iammert/MultiSearchView
kotlin 編寫
很nice的動畫 也很容易自定義
雖然版本只有0.1 但感覺大有可爲吧
3.CalendarView
github地址:https://github.com/kizitonwose/CalendarView
kotlin 編寫
我個人也寫過很多次的CalendarView,主要是UI沒有成型,整個設計龍飛鳳舞。
它是由RecyclerView編寫
提供瞭如下基本功能:
- 單選\範圍選擇
- 星期\月份選擇
- 日期邊界
- 自定義日曆View
- 橫向\豎直滑動
- 完全自定義視圖
- 其它更多功能…
文檔很全面,也有很多例子。Dome App展示了各種功能,大家可以自己查閱。
4.Bubble Navigation
github地址:https://github.com/gauravk95/bubble-navigation
kotlin 編寫
輕量級的Navigation bar,其它功能如下:
- 兩種類型的NavigationView BubbleNavigationConstraintView提供 spread,inside,packed模式(這個和ConstranitLayout模式一樣) BubbleNavigationLinearView 提供均分模式
- 高度自定義
- 同時你還可以加上小紅點,它提供了BubbleTaggleView 😃 想法真周到啊
5.FabFilter
github 地址: https://github.com/nikhilpanju/FabFilter
這個lib主要是使用動畫展示UI的,蠻好看的,而且沒使用到MotionLayout.
這個項目我蠻喜歡的,很有現代感。
6.SmoothBottomBar
kotlin 編寫
github地址:https://github.com/ibrahimsn98/SmoothBottomBar
它的介紹是Andorid輕量級的底部導航欄,雖然很小,但是很細膩,值得追求細節的騷年嘗試。
7.android-showcase
github地址爲:https://github.com/igorwojda/android-showcase
kotlin 編寫
首先它是一個完整的項目,有很多東西值得我們學習:
- 100% kotlin
- 現代的APP建構(Model-View-ViewModel, Model-View-Intent)
- 使用了Andorid Jetpack
- 單Activity架構(整個App只使用了一個Activity),使用了navigation component管理fragment
- 響應式UI
- 提供了CI
- 提供了測試代碼
- 靜態分析工具
- 注入依賴
- MD設計
在我個人看來,它麻雀雖小,但是給我們提供了很多可以學習的東西。大家可以看他的Readme文件,非常全面和細緻。
8.Balloon
github地址:https://github.com/skydoves/Balloon
kotlin編寫
簡單來說,這個庫提供了一種輕量級的popWindow方式,你可以在任意的view的任意位置放置popWindow。一位年輕的韓國小哥寫的。此時希望韓國肺炎早點好吧。
9.LiquidSwipe
github地址: https://github.com/Chrisvin/LiquidSwipe
kotlin 編寫
只能說這個框架牛逼,牛逼的不僅是想象力,更重要的是它居然實現了。簡單來說就是ViewPager上切換Item的方式,以前我們使用Transformer比較多,但是它這種方式應該是自定義了自己的ViewPager,翻看了一下源碼叫LiquidSwipeViewPager,而不是我們使用的ViewPager。所以如果你想使用這種方式,估計更改代價有些大。 而且它目前支持的最低版本是minSdk 21。
10.Croppy
github地址:https://github.com/lyrebirdstudio/Croppy
kotlin 語言編寫
應該又是一個很nice的圖片裁剪框架了,主要有以下幾個特色:
- 雙擊聚焦
- 手勢放大縮小
- 任意的裁剪比例(1:1,16:9,3:5都可以)
- 裁剪時自動居中
- 裁剪時操作動畫
11.Climpse
github地址:https://github.com/the-super-toys/glimpse-android
看上面的截圖我們知道這個也是一個圖片裁剪框架,但是它是智能的!!!對的,它的確是經過TensorFlow Lite訓練的得來的,我覺得是這是Android未來的一種趨勢,和AI結合再服務人類。雖然它現在還不能用於生產環境,但是值得我們去學習一下。
12.RubberPicker
kotlin 編寫
github地址爲:https://github.com/Chrisvin/RubberPicker
看圖就感覺很俏皮的樣子,源碼大家看吧,很有意思啊。
13.AndroidFastScroll
github地址爲:https://github.com/zhanghai/AndroidFastScroll
這個應該是一位中國小哥寫的,主要是看他github名字
主要功能有:
- 完全功能的定製;
- 容易上手
- 多種View的擴展:RecyclerView、ScrollView、NestedScrollView、WebView等等
- 支持設置scrollbar的padding
- 充分的解構:觸摸邏輯、動畫和滑動的邏輯
14.Switcher
github地址:https://github.com/bitvale/Switcher
kotlin 編寫
話不多說,流暢的動畫說明一切
15.StfalconImageViewer
github地址爲:https://github.com/stfalcon-studio/StfalconImageViewer
這個項目比較老,早在2018年就出現了。項目本身比較簡單,但是它包含了全屏圖片預覽,同時支持了共享圖片過渡(過渡動畫)、縮放功能、滑動關閉手勢等等。
16.Store 4
dropbox的Store第四個迭代版本,用於異步數據加載和緩存
github地址爲:https://github.com/dropbox/Store
kotlin編寫
它簡化了獲取、分享、存儲和恢復數據。Store和存儲模式相似, 使用公開的協程API構建,遵循單向數據流API。 Store提供了一系列在UI元素和數據操作方面的抽象。
17.Broccoli
github地址爲:https://github.com/samlss/Broccoli
數據加載時的PlaceHolder,樣子比較可愛。同時在RecyclerView中也可以使用。
18.ProgressButton
github地址:https://github.com/razir/ProgressButton
主要特色爲:
- 無需佈局更改
- 集成代碼非常少
- 配置非常容易
- 可自定義
- 內置淡入淡出動畫
19.GradientView
github地址爲:https://github.com/lopspower/GradientView
看上去比較簡單,大多數人都可以實現,只是作者使用了非常簡單的方法實現了。
20.Contour
github地址爲:https://github.com/cashapp/contour
來自Square大廠,是一款類型安全的、kotlin first的、爲了複雜佈局(Layout)的庫
它當前更新非常火熱,期待它就像OKHttp,Retrofit一樣火遍全球吧
github上的簡介爲 : Layouts with lambdas(使用lambdas表達式構建Layout)
Contour的目標是 成爲可能最薄的Andorid佈局封裝(這裏的最薄,我的理解就是對原生的影響最小)。
它允許你在純Kotlin中不使用佈局規則構建複雜的View佈局,不需要什麼XML了。
它最好的比較就是ConstraintLayout了,但是它不需要在XML中定義constraints,你只需要提供可執行的lambdas表達式即可
我認識這個想法很好,特別是我們這些不想寫XML佈局的人,太南了…
21.Orbit MVI
來自人工智能公司Babylon Health(初創公司,致力於打造人工智能診療平臺,國內已與Tencent合作)開發框架。是一款基於Model-View-Intent(MVI)的框架。
github地址爲:https://github.com/babylonhealth/orbit-mvi
Orbit在爲你開發實現功能時,提供了儘可能小的的結構,使其能簡單易用,同時讓你放心使用RxJava。
看看它的文檔,非常清晰和仔細。這個框架我沒有仔細研究,有時間可以寫一遍文章試試。
22. CircularProgressBar
github地址爲:https://github.com/lopspower/CircularProgressBar
大家看圖,如果覺得有必要的話 可以學習一下。
23. Waterfall Toolbar
github地址爲:https://github.com/hugocbpassos/waterfall-toolbar
我司以前就要求實現這個功能,RecyclerView滑動的時候,向上滑動toolbar會出現陰影,但是RecyclerView滑到頂部時,toolbar陰影消失。來看看別人是怎麼實現的吧。
24. Press
github地址:https://github.com/saket/press
它並不是一個庫,而是一個完整的app。特別適合要開發markdown的童靴,具有借鑑意義哦。
25. AndroidColorX
github地址爲: https://github.com/JorgeCastilloPrz/AndroidColorX
這裏主要是學習kotlin擴展函數,是基於 AndroidX 的 ColorUtils 進行擴展的
26. IndicatorScrollView
github地址爲:https://github.com/skydoves/IndicatorScrollView
不知道怎麼形容這個lib,不過還是那句話:牛逼!!它是基於NestScrollView的,所以還是可以學習一波的。
27. Cyanea
github地址爲:https://github.com/jaredrummler/Cyanea
一款App 主題的引擎,它可以允許你自動更改主題。但是看了一下源碼,可能與現有的Activity耦合比較大,不要繼承它CyaneaAppCompatActivity,不過他也提供了CyaneaDelegate接口代理。可以學習一波。
28. Material Dialogs for Android
github地址爲:https://github.com/PatilShreyas/MaterialDialog-Android
很漂亮、有風格的對話框.
不過看動畫的形式和風格,應該是使用了 AirBnb的 Lottie框架,不過還是很好看的。
29. Uniflow
github地址爲:https://github.com/uniflow-kt/uniflow-kt
它演示了在 Android 和 kotlin 中簡單的單向數據流。使用了 kotlin 協程,提供了一下幾個關鍵點:
- 在純 kotlin 中提供了明智的方式編寫數據流
- Andorid 的擴展使你更加註重於 狀態和事件
- kotlin 協程
- 容易測試
- 使用Arrow進行的函數式編程
30.Android MotionLayout Carousel
github地址爲:https://github.com/faob-dev/MotionLayoutCarousel
這也是一個項目,是給我們展示如何使用MotionLayout實現一個簡單的輪播效果,雖然我們有現成的ViewPager作爲輪播圖,但是使用MotionLayout嘗試一下也不失爲新的開始。
雖然它還沒有readme 但是代碼非常的直接 大家可以下載看看。
總結
這30個庫或者項目 star並不多,因爲大多數非常新,有的就是這幾天纔開始更新(今天是2020/03/08),我感覺在接下來的日子,它們給我們帶來不一樣的體驗,同時我也感覺 Android 開發
可能更需要 good idea 吧。
</div>
<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-60ecaf1f42.css" rel="stylesheet">
</div>