点击上方“CSDN”,选择“置顶公众号”

关键时刻,第一时间送达!

作者简介:杨守乐,CSDN 知名博主,关注 Android、Java 领域,现在主要专注于音视频开发,有个同名公众号,喜欢分享技术之事。

这些是自 2017 年 3 月以来我最喜欢的 30 个新的 Android 库。他们中的一些还没有做好生产准备,但是使用它们可能会有很多乐趣。希望你喜欢这些。

这里没有特别的顺序:

1. Matisse

这是一个美丽的本地图像和视频选择器。主要功能:

  • 选择包括 JPEG,PNG,GIF 和包括 MPEG,MP4;

  • 应用自定义主题,包括两个内置的主题;

  • 不同的图像加载器;

  • 定义自定义过滤规则;

  • 在 Activity 和 Fragment 内完全操作。

Libraries:https://github.com/zhihu/Matisse/wiki

2. Spruce Android 动画库

Spruce 是一个轻量级的动画库,帮助编排屏幕上的动画。有了这些不同的动画库,开发人员需要确保每个视图都在适当的时候动画。Spruce 可以帮助设计师请求复杂的多视图动画,而不是让开发人员对原型感到畏惧。

Libraries:https://github.com/willowtreeapps/spruce-android

3. MaterialChipsInput

Chips 是在材料设计中呈现。

在小块中表示复杂的实体,如联系人。Chips 可以包含照片,文字,规则,图标或联系人等实体。

MaterialChipsInput 是 Android 的该组件的实现。库提供了两个视图:ChipsInput and ChipView.。

Libraries:https://github.com/pchmn/MaterialChipsInput

4. Grav

这个库允许创建基于点的多个动画。看看 - 你可以很容易地做出光滑美丽的动画。README 文件包含很多例子,所以你可以在这里查看。

Libraries:https://github.com/glomadrian/Grav

5. Litho

Litho 不是一个库,它是一个框架。一个非常强大的框架,以声明的方式构建用户界面。它是由 Facebook 开发者开发的,所以即使你不想尝试,仍然值得观察和跟踪一个开发过程。

主要功能包括:

  • 使用声明式 API 来定义 UI 组件。您只需根据一组不可变的输入描述 UI 的布局,其余的框架就可以完成。

  • 异步布局:Litho 可以提前测量和布局您的 UI,而不会阻塞 UI 线程。

  • 视图展平:Litho 使用 Yoga 进行布局,并自动减少 UI 包含的 ViewGroup 数量。

  • 细粒度回收:任何组件(如文本或图像)都可以在 UI 中的任何位置进行回收和重用。

Libraries:https://github.com/facebook/litho

6. Adaptable Bottom Navigation

前段时间 Google 更新了 Material Design 指南,并介绍了底部的导航栏,作为我们的应用程序中遵循的几个优秀的 UI 模式之一。他们还将实现添加到设计支持库。

自适应底部导航可以很容易地 BottomNavigationView 从支持库中取代。它是以如何 ViewPager 和 TabLayout 工作的方式实施的。这是 Buffer 小组的简短解释:

如前所述,在 Android 支持库中使用底部导航视图时,可能会有许多样板代码用于切换视图。正因为如此,我们从 TabLayout 的 setupWithViewPager()方法中获得了灵感,并创建了一个自定义的 ViewSwapper 组件,该组件可以附加到底部导航视图以简化视图显示的管理。

你可以阅读更多关于 Github。有一个相当全面的文档和解释,为什么它被实现(提示:整洁架构?)。

Libraries: https://github.com/bufferapp/AdaptableBottomNavigation

7. PatternLockView

该库允许您轻松快速地在您的应用中实现模式锁定机制。它非常易于使用,并且有大量的自定义选项可用来更改此视图的功能和外观以满足您的需求。

它也支持 RxJava 2 视图绑定,所以如果你是反应式编程(就像我一样),当用户绘制模式时,你可以得到一串更新。

该自述充满了例子,所以很容易下手库。

Libraries:https://github.com/aritraroy/PatternLockView

8. Isometric

这是一个开源库,帮助绘制等距形状。在我看来,它是这个清单中最酷的图书馆之一,它让我想起了纪念碑谷游戏。

该库支持绘制多个形状、路径和复杂结构,如下面的示例。

Libraries:https://github.com/FabianTerhorst/Isometric

9. UltraViewPager

我们可以把这个库作为一个 ViewPager 扩展来封装许多功能,主要是为多页面切换场景提供统一的解决方案。

UltraViewPager 支持:

  • 水平滚动和垂直滚动;

  • 在一个多视图 ViewPager;

  • 循环切换视图。例如,如果在 a 中显示 3 个视图 ViewPager,则应在第三个视图之后切换回第一个视图;

  • 自动滚动功能(实现定时器使用 Handler);

  • 设置最大高度和最大宽度;

  • 设置纵横比;

  • 说明我们目前的视图(圆圈和图标);

  • 内置两种页面转换动画;

  • 这个库也有很好的文档。

Libraries:https://github.com/alibaba/UltraViewPager

10. InfiniteCards

这个库有助于实现 UI 卡,然后用一个漂亮的动画切换它们。

Libraries:https://github.com/BakerJQ/Android-InfiniteCards

11. SlidingRootNav

这是一个图书馆,我们可以把它看作是一个 DrawerLayout ViewGroup,在内容视图下隐藏一个抽屉,然后可以移动,使抽屉可见。REAMDE 相当全面,值得一试。

Libraries:https://github.com/yarolegovich/SlidingRootNav

12. PasscodeView

这只是一个可以输入密码的视图。

Libraries:https://github.com/hanks-zyh/PasscodeView

13. MusicWave

该库允许将声音表示为渐变色可视化。

Libraries:https://github.com/akshay2211/MusicWave

14. ShadowImageView

这个库可以帮助你添加更有意义的阴影到你的图像。根据自述文件,它是更精美的阴影效果,在一些特殊的场景中用来增强用户体验。而且,它很容易使用。

Libraries:https://github.com/yingLanNull/ShadowImageView

15. PolygonDrawingUtil

这是一个高效的 Android 实用工具类,用于绘制正方形的多边形 Canvas。我们可以指定:边数(≥3),中心坐标,外半径(中心到顶点),圆角半径,多边形旋转,填充/Paint。

Libraries:https://github.com/stkent/PolygonDrawingUtil

16. Tiny

这是名单上的第二个框架。它负责图像压缩,这是相当强大的。另外,它使用异步线程池来压缩图像,并在压缩完成时将结果发布在主线程中。

Libraries:https://github.com/Sunzxyong/Tiny

17. ParticleTextView

该库提供了一个自定义 TextView 小部件,可以使用各种动画效果和配置属性从粒子创建文本。

Libraries:https://github.com/Yasic/ParticleTextView

18. CropIwa

这是一个高度可配置的图像裁剪小部件。该库具有模块化架构,使其具有高度可配置性。有关如何配置的信息,CropIwaView 请参阅 Github 上的 Wiki。

Libraries:https://github.com/steelkiwi/cropiwa

19. Project Condom

这是一个精简的库,Context 在将其传递给第三方 SDK 之前,将其裸露在您的 Android 项目中。它旨在防止第三方 SDK 从常见的不良行为,这可能会损害您的应用程序的用户体验。

这里是解释:

在其他应用程序中大量启动进程(在第三方推送 SDK 中很常见),导致应用程序启动缓慢,并且在低端到中端设备上显着滞后。这种行为在具有类似 SDK 的应用程序之间产生了连锁反应,大大加剧了整体设备的性能。

Libraries:https://github.com/oasisfeng/condom

20. AppMethodOrder

这个库允许你跟踪所有的函数调用顺序。该项目是有据可查的,你可以找到详细的手册如何使用它。唯一的限制是,它是用中文书写的,但是你可以随时在浏览器中点击翻译成英文,享受这个伟大的项目。

Libraries:https://github.com/zjw-swun/AppMethodOrder

21. Android DebugKit

这是一个有趣的开源库。它允许您创建和使用特殊的悬停调试工具,来触发您在应用程序中定义的操作。这些行为显然可以在运行时触发,因此可以在反馈写入或测试电话屏幕时使用。

Libraries:https://github.com/hulab/debugkit

22. Aesthetic

这是一个新的库,仍然在测试版,但它确实很酷 - 它动态地改变你的主题与 Rx 的支持!据作者说,这是一个快速和易于使用的即插即用动态主题引擎。由 Rx 提供支持,适用于 Android 应用程序。

该文件是非常好的,全面的,绝对值得检查。

Libraries:https://github.com/afollestad/aesthetic

23. EasyCalendar

这是一个简单的自定义日历小部件。主要功能包括:

  • 自定义布局的标题;

  • 自定义布局的日期;

  • 显示或隐藏分隔线的日期;

  • 显示或隐藏溢出日期;

  • 听取日期的看法点击。

文档是全面的,图书馆易于使用。

Libraries:https://github.com/shichaohui/EasyCalendar

24. SimpleRatingBar

这个库提供了两个评级栏:

  • BaseRatingBar - 没有任何动画;

  • ScaleRatingBar - 具有渐进和缩放动画。

你可以在下面看到他们的 Gif:

Libraries:https://github.com/ome450901/SimpleRatingBar

25. Magellan

这个库被称为 Android 最简单的导航库,但你需要检查是否值得使用它。

主要特点:

  • 导航和调用 goTo(screen)方法一样简单;

  • 你完全控制了后台;

  • 转换会自动为您处理。

它有全面的维基和所有需要的解释。

Libraries:https://github.com/wealthfront/magellan

26. ViewPagerAnimator

ViewPagerAnimator 是一个新的轻量级,但功能强大的 Android 的 ViewPager 动画库。它被设计为在用户在 ViewPager 中的页面之间导航时动画任意值,并且将精确地跟随手指的运动。虽然图书馆本身可能对某些人有用,但是出版这个图书馆的主要目的是为了展示一些很棒的 API 细节,当使用即将推出的 Java 8 扩展时,这些细节真的会出现。提供了 Java 7 和 Java 8 的示例项目。

它由 Mark Allison 编写,您可以在他的 Styling Android 博客上获得更多信息。

Libraries:https://github.com/StylingAndroid/ViewPagerAnimator

27. BlockCanaryEx

这是一个开源库,它有助于在应用程序被阻止时在代码中查找繁重的方法。它基于 BlockCanary。

Libraries:https://github.com/seiginonakama/BlockCanaryEx

28. PaletteImageView

这是相当酷的开源库。它为您的图像添加阴影,但阴影的颜色是主要的图像颜色。

Libraries:https://github.com/DingMouRen/PaletteImageView

29. RecyclerRefreshLayout

这是一个打开相机快门的刷新动画。在我看来确实值得检查一下,特别是在 README 里有一个数学分析,该如何实现这个效果!

Libraries:https://github.com/dinuscxj/ShootRefreshView

30. SlimAdapter

这是一种无需编写 Adapter 的方法 ViewHolder。主要功能包括:

  • ViewHolders

  • 无反射

  • 流畅和简单的 API

  • 多种类型的适配器

  • 支持 Kotlin

  • 支持简单的 DiffUtil

Libraries:https://github.com/MEiDIK/SlimAdapter

到这就结束了。我希望你喜欢这篇文章!如果我没有提到在今年最新发布的其他伟大的 Libraries(开源库),请在下面的评论中告诉我。让我们把这份清单放在一起!

Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐