【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

今年新鲜出炉的 30 个 Android 库,你关注了吗?

  • 2017-10-19
  • 本文字数:3582 字

    阅读完需:约 12 分钟

1. MaterialStepperView

它是用 Material Design 实现 Steppers 的。

目前,Stepper 只有垂直视图,但将来会有更多的风格。你可以尝试一下,如下图:

你可以自定义 normal/active 两个状态的颜色,完成图标,开启动画并设置动画时长。可通过 Github 上的设置项和样式查阅所有设置项。

该库支持API 17+,详情请查阅 wiki 文档

2. MultiSnapRecyclerView

这是分屏滚动的 Android 库。
MultiSnapRecyclerView 为 RecyclerView 提供了分屏功能。

目前提供的功能有:

  • start, endcenter三个位置的吸附,
  • snap count 指定要分屏的数量,
  • 支持水平和垂直分屏,
  • 滚动时的回调。

3. Garland View for Android

该库可实现如下的布局:

GarlandView 外部是一个水平滚动的视图,视图内的每一个子视图可垂直滚动。

你可以在 README 中找到其他重要信息。还有一个示例 App。该库支持 API 19 及更高版本。

4. VegaLayoutManager

这是一个自定义的布局管理器——滚动时缩小并淡出头部。这是受到 Dribble 项目的启发。

5. ExpandableLayout

这个库的名字不言而喻,它是一个基于LinearLayout的可扩展的布局。

README 里含有你启动时需要的所有信息,另外,还有一个示例 App 可以帮助你快速跳转到代码中。

6. SwipeBackLayout

SwipeBackLayout允许你使用手势返回上一个界面。

你可以设置滑动方向,如从左到右、从右到左、从顶部到底部、从底部到顶部。

你还可以设置是否只能从边缘滑动。

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

  • LinearLayoutRelativeLayoutFrameLayoutTableLayout等。
  • ScrollViewHorizontalScrollViewNestedScrollView等。
  • RecyclerViewAbsListView(ListView) 等子类。
  • ViewPagerWebView等。

该项目里面有一个详细说明的文档、示例 APP 和一个 APK。

7. SmartCropper

这是一个可以智能剪裁图像的库,可以识别边框并修正裁剪后的图像,适用于身份证、名片、文件等其他图片文件的裁剪。

特征:

  • 以智能的方式裁剪图片,还可以识别边框;
  • 支持拖动、放大效果以提升定位体验;
  • 使用透视变换裁剪, 可以修正先前裁剪的图片;
  • 支持多种 UI 设置,如辅助线、蒙版、设置锚点、放大等效果。

目前,此库采用优化点算法,CropImageView具有选择放大效果, 而且它可以使用CropImageView XML来进行设置。

8. Date Range Picker

Date Range Picker 是具有改进 UI 的自定义日期范围选择器。

项目的简介写得很好,易于理解。

9. StoriesProgressView

我们都知道 Facebook 和 Instagram 展现在他们 App 上的 Stories ,这是介绍StoriesProgressView的一个库,它可以扩展LinearLayout和允许你添加以下视图。

该项目包含一个简短但详细的 README 以及示例 App。

10. CosmoCalendar

这是一个可以自定义日历的库,它可以提供很多功能和 UI 设置,例如:

  • 改变日历方向;
  • 自定义文本颜色;
  • 设置类型和颜色;
  • 定义导航按钮等;
  • 还有很多其他功能;

11. Reflow Text Animator

相信大家都听过 Plaid app ,这是由 Shazam 工程团队开发的。

它是 Plaid’s ReflowText 的端口,无论它们的大小或风格怎样,都可以轻松地在同级的 TextView 之间进行转换。

这个库很容易使用,快去试试吧!

12. AdaptiveIconPlayground

这不是一个库,而是由 Nick Butcher 开发的用于试验自适应图标的 AndroidApp。根据 README:

此应用程序可以从已安装的 App 中查找支持自适应图标的 App,并将其显示在网格中,然后你可以切换不同的蒙版形状以匹配不同设备的显示效果。

目前提供两种视觉效果:

  • 滚动效果;
  • 触摸时的尺寸缩放视差效果;

13. Tivi

Tivi 是跟踪电视节目的 App,它与 Track.tv 相连接,它的开发者是 Chris Banes,虽然这项开发工作仍在进行中,但它使用的都是最前沿的组件、库和工具,其中包括 Kotlin、RxJava 2、所有架构组件(Room,LiveData 和 Lifecycle-components)。

14. RxIdler

这是 Espresso 的IdlingResource
它的开发者是 Square Engineering
它支持 RxJava 1 和 RxJava 2,祝你用得愉快!

15. MRichEditor

这是一个丰富的文本编辑器(基于 summernote)。
它支持多种功能,包括粗体、斜体、下划线、快捷键、标题(包括六级标题)、段落、引用,有(无)序列表、代码、水平规则、链接、图像,对齐方式(居中、两端对齐、左对齐、右对齐)、下标、上标、字体名称和大小、缩进、减少缩进、撤消 / 还原。

在这种情况下,你需要仔细观察示例 App,因为它几乎没有文档供你参考。

16. Android Clean Architecture Boilerplate

Buffer 团队和 Joe Birch 开发的示例 App 展示了一种 Android 应用程序的干净架构。

创建此样板的原因:

实验模块化;

分享一些干净架构实现方式;

一开始采用干净架构能应对未来复杂的项目需求。

该项目的 UI 和单元测试都是用 Kotlin 编写。

它的文档里有详尽的介绍,非常适合想学习的开发者,力荐!

17. RxJava2Debug

使用过 RxJava 会发现有时很难读取异常,很难在 Rx 流中定位到问题。这就是为什么这个库被创建的原因。你可以在 README 中阅读更多关于的内容。

这个库的功能有:

  • 生成堆栈轨迹
  • 过滤堆栈轨迹

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,无损格式,会忽略该设置

19. FaceDetector

该库允许你在相机里预览图片时,实时检测人脸。它与 Fotoapparat 库非常相似,但它也支持其他相机库和源。

它的使用过程十分简单,而且项目记录相当详细。

20. RxGps

它的开发者是 Florent Champigny ,它很容易找到我们各自的定位。
它兼容 RxJava2,它还自动申请 GPS 的运行权限,并查看当下的服务是否适合您。

21. MapMe

MapMe 是一个搭配地图功能使用的 Android 库。
MapMe 将适配器模式带到 Maps,简化了标记和注释的管理。

MapMe 与 Google Maps 和 Mapbox 配合使用,README 里的内容很详细,而且它是用 Kotlin 编写的。

22. RevelyGradient

该库用于颜色渐变管理。

您可以用 Java 或 Kotlin 编写它,项目附带的说明文档很简短,但足够你能够使用它。

23. LiteUtilities

这是一个用 Kotlin 编写的库,它有助于从代码中消除样板。目前它的功能有:

  • RecyclerUtils —— 省去设置适配器的麻烦,现在只需 4 行代码就可以设置好适配器。
  • ScrollUtils —— 使用 RecyclerView 或 NestedScrollView 时,可以以轻松隐藏 / 滚动显示 FloateActionButton。
  • ToastUtils —— 用于创建 toasts。
  • SPUtils —— 用于共享选项的简单 DSL。
  • ValidatorUtils —— 可以快速而轻易地进行文本检验。
  • LogUtils —— 简单易用的 Android 日志记录。

24. KOIN

KOIN 是一个使用 Kotlin 来编写的依赖注入框架,它的功能是能够推动做事的进度。

据作者介绍,它

  • 没有代理 / CGLib
  • 没有代码生成
  • 没有内省

它的说明文档写得很棒,有示例和 wiki ,还有联系方式。

25. koptional

是那些总试图让自己的安全系统更加顺畅的 Kotlin 极简主义者的理想选择。

作者给出的理由是:

由于具有空值安全特性,Kotlin 不需要可选值类型。但是有 RxJava2 这样的 APIs 和库不接受空值导致 Kotlin 仍然需要支持可选值类型

大多数情况下可以使用sealed class来表示空值,然而像向 Rx 流传递String?这种情况,可选值类型是更好的选择。

26. Parallax

这是一个模拟 Apple TV 视差图标的库。

它的 README 写得非常好,值得一试。

27. droid-vizu

Droid-vizu 旨在通过轻松交换渲染器来获得酷炫效果, 从而提供定制的可视化效果.

28. Drone

这不是 Android 库,而是由 CésarFerreira 提供的库的管理者。它是由于对 java 社区的嫉妒,因为他们的快速可靠的依赖管理器。因此,您只需执行以下操作:谷歌搜索一个库,检查,阅读文档等。

drone add creator/library module

例如:

drone add jakewharton/butterknife

29. From-design-to-Android-part2

这是一个涵盖在 Android 上创建整洁 UI 的项目。这一次,SaúlMolinero 涵盖:

  • 使Alex LockwoodShapeShifter工具
  • AndroidVectorDrawables
  • ScaleDrawables
  • 自适应图标等。

30. Reagent

Reagent 是 Jake Wharton 总结的未来响应式库的体验。请不要使用。

希望你很享受以上提到的库,如果你喜欢我的文章,别忘了分享给其他人哦!

当然,如果你想追踪我最新的文章和动态,可以在 Medium Twitter 上关注我,也可以在 LinkedIn 上找到我的信息。

原文链接: https://medium.com/@mmbialas/30-new-android-libraries-and-projects-released-in-summer-2017-which-should-catch-your-attention-d3702bd9bdc6


感谢胡红星对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-10-19 19:003993
用户头像

发布了 83 篇内容, 共 46.9 次阅读, 收获喜欢 187 次。

关注

评论

发布
暂无评论
发现更多内容

一线架构师开发总结:剖析并发编程+JVM性能,深入Tomcat与MySQL

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

手撸二叉树之二叉树中第二小的节点

HelloWorld杰少

数据结构与算法 8月日更

记录一次基于Qt的内存数据修改工具开发

星河寒水

qt 内存数据修改 Cheat Engine

Minerva -- Airbnb的大规模数据指标系统 Part 1

俞凡

架构 Airbnb 大厂实践 指标

写作 7 堂课——【2. 复利式写作】

LeifChen

写作技巧 8月日更 复利写作

模块四作业

Mr.He

架构实战营

04-可扩展架构

Lane

Java 操作 Office:POI之word图片处理

程序员架构进阶

Java 架构 自我提升 实战问题 8月日更

03- 面向复杂度的架构设计

Lane

Android Jetpack Compose

Changing Lin

8月日更

Github访问量破百万!原来是美团大牛的分布式架构实战笔记上线了

Java~~~

Java 面试 分布式 微服务 架构师

新手小白花几个月勇敢裸辞转行网络安全

网络安全学海

网络安全 信息安全 转行 渗透测试 安全漏洞

【Vue2.x 源码学习】第二十八篇 - diff算法-问题分析与patch优化

Brave

源码 vue2 8月日更

模块四作业:千万级学生管理系统试卷存储方案

Felix

二本渣渣5面阿里,从准备简历到“直怼”面试官,经历了什么?

公众号_愿天堂没有BUG

从外包进入苏宁再跳槽阿里,分享这五年来我“走过的路”

Java 编程 程序员 面试 计算机

华为大佬的“百万级”MySQL笔记,基础+优化+架构一键搞定

Java~~~

Java MySQL 数据库 面试 架构师

北鲲云超算接入GPUA100,让AlphaFold2轻松使用

北鲲云

Python代码阅读(第5篇):根据过滤器拆分列表

Felix

Python 编程 Code Programing 阅读代码

Minerva -- Airbnb的大规模数据指标系统 Part 2

俞凡

架构 Airbnb 大厂实践 指标

打咩哟!Github热榜第七的SpringBoot笔记(阿里内测版)终于开源!

Java 编程 程序员 架构 面试

架构实战营-学习总结

泄矢的呼啦圈

架构实战营

模块四作业

俊杰

架构实战营

疫情之后,幸获内推,4面京东拿下offer(Java后台研发岗)

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

最全的MySQL总结,助你向阿里“开炮”(面试题+笔记+思维图)

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

13W字!腾讯高工手写“Netty速成手册”,3天能走向实战

Java~~~

Java 面试 微服务 Netty 架构师

Java架构速成笔记:七大专题,1425页考点,挑战P8岗

Java~~~

Java spring 面试 微服务 架构师

用不了AlphaFold2?北鲲云高性能计算平台解决这个问题

北鲲云

Python3 基础语法

Geek_aee0b4

仅靠七个步骤,4面通过拿offer,终“跳进”字节跳动

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

模块4.存储架构设计

脉动

今年新鲜出炉的30个Android库,你关注了吗?_Android/iOS_Michal Bialas_InfoQ精选文章