2020年最值得期待的30个android库(截止2020年3月8日)
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 吧。
更多推荐
所有评论(0)