原文地址

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编写
提供了如下基本功能:

  1. 单选\范围选择
  2. 星期\月份选择
  3. 日期边界
  4. 自定义日历View
  5. 横向\竖直滑动
  6. 完全自定义视图
  7. 其它更多功能…

文档很全面,也有很多例子。Dome App展示了各种功能,大家可以自己查阅。

4.Bubble Navigation

在这里插入图片描述
github地址:https://github.com/gauravk95/bubble-navigation
kotlin 编写
轻量级的Navigation bar,其它功能如下:

  1. 两种类型的NavigationView BubbleNavigationConstraintView提供 spread,inside,packed模式(这个和ConstranitLayout模式一样) BubbleNavigationLinearView 提供均分模式
  2. 高度自定义
  3. 同时你还可以加上小红点,它提供了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 编写
首先它是一个完整的项目,有很多东西值得我们学习:

  1. 100% kotlin
  2. 现代的APP建构(Model-View-ViewModel, Model-View-Intent)
  3. 使用了Andorid Jetpack
  4. 单Activity架构(整个App只使用了一个Activity),使用了navigation component管理fragment
  5. 响应式UI
  6. 提供了CI
  7. 提供了测试代码
  8. 静态分析工具
  9. 注入依赖
  10. 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. 双击聚焦
  2. 手势放大缩小
  3. 任意的裁剪比例(1:1,16:9,3:5都可以)
  4. 裁剪时自动居中
  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名字
主要功能有:

  1. 完全功能的定制;
  2. 容易上手
  3. 多种View的扩展:RecyclerView、ScrollView、NestedScrollView、WebView等等
  4. 支持设置scrollbar的padding
  5. 充分的解构:触摸逻辑、动画和滑动的逻辑
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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bTENazzF-1583657913733)(https://note.youdao.com/src/WEBRESOURCEf87a89791686dbe0f05887c7e6f52871)]
在这里插入图片描述
在这里插入图片描述

github地址:https://github.com/razir/ProgressButton
主要特色为:

  1. 无需布局更改
  2. 集成代码非常少
  3. 配置非常容易
  4. 可自定义
  5. 内置淡入淡出动画
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 协程,提供了一下几个关键点:

  1. 在纯 kotlin 中提供了明智的方式编写数据流
  2. Andorid 的扩展使你更加注重于 状态和事件
  3. kotlin 协程
  4. 容易测试
  5. 使用Arrow进行的函数式编程
30.Android MotionLayout Carousel

在这里插入图片描述
github地址为:https://github.com/faob-dev/MotionLayoutCarousel
这也是一个项目,是给我们展示如何使用MotionLayout实现一个简单的轮播效果,虽然我们有现成的ViewPager作为轮播图,但是使用MotionLayout尝试一下也不失为新的开始。
虽然它还没有readme 但是代码非常的直接 大家可以下载看看。

总结

这30个库或者项目 star并不多,因为大多数非常新,有的就是这几天才开始更新(今天是2020/03/08),我感觉在接下来的日子,它们给我们带来不一样的体验,同时我也感觉 Android 开发
可能更需要 good idea 吧。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐