Android 常用开源库总结(持续更新)
2019-03-05 本文已影响117人
欢子3824
前言
收集了一些比较常见的开源库,特此记录(已收录260+)。另外,本文将持续更新,大家有关于Android 优秀的开源,也可以在下面留言。
一 、基本控件
TextView
- HTextView 一款支持TextView文字动画效果的Android组件库。
- ScrollNumber 滚动数字控件
- ticker 滚动数字控件
- ReadMoreTextView 阅读更多,折叠文本
- ExpandableTextView 折叠文本
- android-autofittextview 自动调整文字大小
- html-textview 展示html标签
- BabushkaText 自定义文本样式
- Android-TextView-LinkBuilder 文本链接
- TextJustify-Android 自动调整文字间隔
- SlantedTextView 一个倾斜的TextView,适用于标签效果。
- RichText Android平台下的富文本解析器
- MixtureTextView Android图文混排、文字环绕图片
- VerticalTextView 垂直的Textview
- JumpingBeans 文字像 Mexican beans 一样跳动
EditText
- MaterialEditText 智能提醒输入框
- android-edittext-validator 输入效验、提醒
- ClearEditText 带删除的输入框
- PasswordEditText 显示/隐藏密码
- MaterialSearchView 一个基于Material design 规范的Android 搜索控件。MaterialSearchView显示在Toolbar 或者 ActionBar 上面,并为用户显示一个最近搜索或者搜索提示的列表。
ImageView
- CircleImageView 圆形图片
- android-gif-drawable 展示gif
- android-shape-imageview 自定义形状的ImageView
- android-combination-avatar 组合头像
- PaletteImageView 懂得智能配色的ImageView,还能给自己设置多彩的阴影哦。
- PhotoView 支持双击或双指缩放的 ImageView
Button
- android-floating-action-button FloatingActionButton
- FloatingActionButton
- SwitchButton 开关按钮
- ShineButton 点赞效果
- RapidFloatingActionButton 展开菜单
- android-flat-button 自定义按钮,支持圆角等
- android-process-button 带进度条的botton
- circular-progress-button 带完成动画的botton
- FABProgressCircle 带进度条的fabotton
- ProgressRoundButton 带进度条的botton
Spinner
- nice-spinner 美化的spinner
- MaterialSpinner
- BetterSpinner
- Material-Spinner
- SearchableSpinner 带搜索的spinner
CheckBox
- SmoothCheckBox 带动画的checkbox
- AnimateCheckBox 带动画的checkbox
ProgressBar
- SmoothProgressBar
- NumberProgressBar 带数字的进度条
- android-square-progressbar 加载图片的进度条
- MaterialLoadingProgressBar
- circular-music-progressbar 播放音乐进度条
- materialish-progress
- Android-RoundCornerProgressBar 圆角进度条
- GoogleProgressBar 仿谷歌的进度条
- DownloadProgressBar 带下载动画的进度条
- ACProgressLite 仿IOS 进度条
- Android-SVProgressHUD 仿IOS 进度条
- MaterialProgressBar
- CircularProgressBar 圆环进度条
- Android-ProgressBarWidthNumber 带进度的进度条
- LoadingView 加载进度条
- LoadingDrawable 酷炫的android加载动画
- Android-SpinKit Android加载动画库
Seekbar
- RangeSeekBar 双向SeekBar
- IndicatorSeekBar 带进度的seekbar
- DragChooseView 仿微信设置字体
- FontSliderBar 仿微信设置字体
- DoubleSeekBar 带进度的seekbar
- CircleSeekbar 一个环形Seekbar组件,支持叠加复合使用
RatingBar
- MaterialRatingBar 与 Google 系应用设计相同、支持拉伸、修正原生实现诸多问题的星级评分条
Toast
- SuperToasts 丰富样式的 toast
- Crouton
- Android-AppMsg
- UndoBar 带按钮的toast
- Alerter Dropdown 风格的弹窗
- Toasty
- Sneaker
RecyclerView
- BaseRecyclerViewAdapterHelper 万能adapter
- MultiChoiceAdapter 多选adapter
- SwipeRecyclerView 基于RecyclerView的封装,提供了Item侧滑菜单、Item滑动删除、Item长按拖拽、添加HeaderView/FooterView、加载更多、Item点击监听等基本功能。
- EasyRecyclerView 封装RecyclerView
- StickyItemDecoration 悬浮头部
- PinnedSectionItemDecoration 悬浮头部
- recyclerview-animators RecycleView的项目动画的Android组件库
- UltimateRecyclerView 能强大的Recyclerview,包括了下拉刷新,加载更多,多种动画,空数据提示,拖动排序,视差处理,工具栏渐变,滑动删除,自定义floating button,多种刷新效果,scrollbar等等元素,而且使用起来跟recyclerview一样的方便。
- epoxy Epoxy采用可组合的方式来创建列表。列表中的每个item由一个model代表,model定义了item的布局,id以及span。model还负责处理数据到视图的绑定,在视图被回收的时候释放资源。如果要显示这些model则把它们添加到Epoxy的adapter中,adapter为你处理复杂的显示问题。
- XRecyclerView XRecyclerView实现了下拉刷新,滚动到底部加载更多以及添加header功能的的RecyclerView。使用方式和RecyclerView完全一致,不需要额外的layout,不需要写特殊的adater。 加载效果内置了AVLoadingIndicatorView上的所有效果,可以根据需要指定。
- RecyclerViewPager RecyclerViewPager基于 RecyclerView 实现的 ViewPager,可自定义 Page 切换敏感度,支持垂直 ViewPager,支持类 Gallary 效果,支持无限循环。
- SuperRecyclerView SuperRecyclerView主要特性包括:1、当adapter没有设置的时候使用ProgressBar(进度条);2、当adapter时空的时候使用EmptyView;3、SwipeRefreshLayout (Google's one);4、Swipe To Dismiss;5、Sticky headers;6、无限滚动,当到达最后一项时,加载更多数据;
日历、时钟
- CalendarView 一个优雅、万能自定义UI、支持周视图、自定义周起始、性能高效的日历控件
- material-calendarview
- Caldroid
- android-times-square
- Android-Week-View 周视图
- android-calendar-view 显示阳历,农历,节假日和二十四节气 实现对某月日期的单选或者多选的andorid 日历控件库
- Simple-Calendar
- CountdownView 倒计时
- android-calendar-card 日历
Webview
- AgentWeb
- VasSonic 首屏加载速度快
- JsBridge
- chromeview 利用 Chromium 实现的 WebView
ScrollView
ViewPager
- VerticalViewPager 垂直的viewpager
- InfiniteCycleViewPager 3D的viewpager
- DiscreteScrollView
- ExpandingPager
- RecyclerViewSnap
- AndroidImageSlider
- ViewPagerIndicator
- RecyclerViewCardGallery RecyclerView实现Card Gallery效果,替代ViewPager方案
- JazzyViewPager 支持 Fragment 切换动画的 ViewPager,动画包括转盘、淡入淡出、翻页、层叠、旋转、方块、翻转、放大缩小等
- FlipViewPager.Draco Flip 翻转效果的 ViewPager
WheelPicker
- Android-PickerView iOS的PickerView控件,有时间选择和选项选择,并支持一二三级联动,支持自定义样式。
- androidWheelView
- WheelPicker
- AndroidPicker
- HorizontalWheelView 水平的wheelview
- WheelView-Android 带刻度的wheelview
导航栏
- BottomBar 一个Material Design风格的底部导航的Android视图组件
- NavigationTabBar 一个具有丰富的动画效果的Android导航Tab工具栏组件。
- ahbottomnavigation material风格的底部导航
- Material-BottomNavigation
二、功能相关
图片选择
- MultiImageSelector 仿微信实现多图选择
- GalleryFinal 拍照、图片选择(单选/多选)、 裁剪(单/多裁剪)、旋转、ImageLoader无绑定任由开发者选择、功能可配置、主题样式可配置
- Matisse 图片选择
- ImagePicker 图片选择
- android-crop 图片裁剪
- ImageEditor-Android 图片编辑
- boxing 基于MVP模式的Android多媒体选择器
- cropper 图片裁剪
- uCrop Yalantis 出品的强大的图片裁剪库 ,支持缩放,旋转图片,支持各种比例的裁剪框
- android-crop 图片裁剪
图片加载
音视频
- ExoPlayer 谷歌出品的视频播放器
- JiaoZiVideoPlayer 饺子视频播放器
- ijkplayer ijk 播放器
- GSYVideoPlayer
- VitamioBundle 多媒体播放器
- VideoPlayerManager 帮助实现VideoPlayer控制,使得它更容易使用ListView和recyclerview。
- DanmakuFlameMaster 弹幕
- AndroidVideoCache 视频缓存
刷新控件
动画
- Material-Animations
- Loop3DRotation-master 3D旋转动画
- lottie-android 加载ae做的动画
- AndroidViewAnimations 动画合集
- ParticleTextView 粒子动画
轮播图
权限
- PermissionsDispatcher
- RxPermissions
- easypermissions
- Dexter
- AndPermission
- PermissionHelper
- PermissionGen
- HiPermission
- TedPermission
- permissions4m 国产手机5.0、6.0权限适配框架
二维码
- zxing
- BGAQRCode-Android 扫描二维码、扫描条形码、
- QrCodeScan 二维码扫描
- android-zxingLibrary 几行代码快速集成二维码扫描功能
新手引导
数据库
- greenDAO
- ActiveAndroid Android Sqlite orm 的 db 工具类
- realm-java 移动端的数据库,适用于 Phone、Tablet、Wearable,支持 ORM,线程安全、支持连表及数据库加密,比 SQLite 性能更好
- DBFlow Android SQLite ORM 工具库。综合了 Active Android, Schematic, Ollie,Sprinkles 等库的优点;通过注解实现,性能好;能生成 ContentProvider。
- SnappyDB key-value数据库,非常流行的NoSQL数据库
图表
- MPAndroidChart
- XCL-Charts
- hellocharts-android
- DashboardView 仪表盘
- FinancialCustomerView 金融类的自定义View
- WilliamChart 双向图表
- EazeGraph
- android-DecoView-charting
- GraphView 绘制图表和曲线图的 View,可用于 Android 上的曲形图、柱状图、波浪图展示
- PieChartView 饼状图
- SpeedView Android的动态车速表
菜单
- BoomMenu 展开菜单效果
- Side-Menu.Android 侧滑菜单
- Context-Menu.Android 可以方便快速集成漂亮带有动画效果的上下文菜单,Yalantis出品。
- FlowingDrawer 带手势的侧滑菜单
- SlidingMenu 侧滑菜单
- android-menudrawer 滑出式菜单,通过拖动屏幕边缘滑出菜单,支持屏幕上下左右划出,支持当前 View 处于上下层,支持 Windows 边缘、ListView 边缘、ViewPager 变化划出菜单等。
- AndroidResideMenu 仿 Dribbble 的边栏菜单
- MaterialDrawer Material Design 风格的导航抽屉,提供简便且强大的定制功能
手势关闭
事件处理
换肤
- QSkinLoader
- Android-Skin-Loader 支持多种场景的Android换肤框架
- MultipleTheme 夜间模式的Android框架
- Colorful 基于Theme的Android动态换肤库,无需重启Activity、无需自定义View,方便的实现日间、夜间模式。
- MaterialDesignDemo
状态栏
颜色选择器
布局相关
- flexbox-layout 柔性布局
- overscroll-decor 仿IOS回弹效果
- ChipsLayoutManager TAG 布局
- vlayout VirtualLayout是一个针对RecyclerView的LayoutManager扩展, 主要提供一整套布局方案和布局间的组件复用的问题。
- ArcLayout 弧形布局
- FlowLayout Android流式布局,支持单选、多选等,适合用于产品标签等。
三、网络相关
http
- retrofit
- okhttp
- okhttp-OkGo 封装了 OkHttp 的网络请求框架
- okhttputils okhttp的辅助类
- NoHttp 实现Http标准协议框架,支持多种缓存模式,底层可动态切换OkHttp、URLConnection。
- xUtils3 xUtils 包含了orm, http(s), image, view注解
- afinal Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp
json
下载、上传
- MultiThreadDownloader 多线程下载
- android-upload-service 文件上传
- Aria 下载
- FileDownloader 文件下载引擎,稳定、高效、灵活、简单易用
rx
-
RxAndroid 对RxJava在Android上的扩展,使得Android上也很容易实现reactive components,简化线程操作,从而写出很漂亮的代码。
-
RxCache 专门为Retrifit打造的缓存库
四、自定义View
蛛网图
翻书效果
- android-PageFlip
- android-flip 类似 Flipboard 翻转动画
图案解锁
望远镜效果(部分高亮)
其他
- SeatTable 电影选座效果
- FlightSeat 飞机票选座效果
- GoodView 点赞效果
- Android-PullLayout 仿uc下拉效果
- AlphaIndicatorView 仿微信底部TAB 滑动效果
- RadarView 高仿360检测评分动画
五、其他
工具类
- AndroidUtilCode 强大易用的安卓工具类库
- RxTools Android开发人员不得不收集的工具类集合
- butterknife 利用 annotation 帮你快速完成 View 的初始化,减少代码
热修复
依赖注入
- dagger 依赖注入,适用于 Android 和 Java
日志
路由
- ARouter 帮助 Android App 进行组件化改造的路由框架
内存泄漏检测
画图
图片压缩
- Luban Android图片压缩工具
- Compressor
- AiYaCompressHelper
富文本编辑器
指示器
- MagicIndicator 强大、可定制、易扩展的 ViewPager 指示器框架。