欢迎Follow我的GitHub, 关注我的CSDN. 其余参考Android目录.关注公众号:杨守乐,有趣有内涵的文章第一时间送达!
http://blog.csdn.net/xiaole0313/article/details/78926083
这些是自2017年3月以来我最喜欢的30个新的Android库。他们中的一些还没有做好生产准备,但是使用它们可能会有很多乐趣。我希望你喜欢这些。
这里没有特别的顺序:
1. Matisse
这是一个美丽的本地图像和视频选择器。主要功能:
- 选择包括JPEG,PNG,GIF和包括MPEG,MP4;
- 应用自定义主题,包括两个内置的主题,
- 不同的图像加载器,
- 定义自定义过滤规则,
- 在Activity和Fragment内完全操作。
Libraries:https://github.com/zhihu/Matisse
2. Spruce Android Animation Library
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
这个库允许创建基于点的多个动画。 你可以很容易地做出光滑美丽的动画。
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组件,该组件可以附加到底部导航视图,以简化视图显示的管理。
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,在内容视图下隐藏一个抽屉,然后可以移动,使抽屉可见。很值得一试。
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
这是一个高度可配置的图像裁剪小部件。该库具有模块化架构,使其具有高度可配置性。很棒的开源库。
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
这是一种无需ViewHolder编写适配器的方法。主要特点包括:
没有 ViewHolders,
无反射,
流畅和简单的API,
多种类型的适配器,
支持Kotlin,
简单的支持DiffUtil。
Libraries:https://github.com/MEiDIK/SlimAdapter
就是这样。我希望你喜欢这篇文章!如果我没有提到在今年发布的其他伟大的开源库,请在下面的评论中告诉我。让我们把这份清单放在一起变得更为全面!
如果您喜欢我的文章,请不要忘记推荐给其他人。