文章目录



一 、基本控件

TextView

EditText

ImageView

Button

Spinner

CheckBox

ProgressBar(包含loading动画)

Seekbar

RatingBar

  • ​MaterialRatingBar​ ​ 与 Google 系应用设计相同、支持拉伸、修正原生实现诸多问题的星级评分条

Toast

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、无限滚动,当到达最后一项时,加载更多数据;
  • ​LRecyclerView​ ​ 下拉刷新,自动加载更多;仿IOS侧滑Item删除菜单
  • ​LayoutManagerGroup​ ​ 自定义RecyclerView 的LayoutManager实现几种炫酷的效果。
  • ​android-advancedrecyclerview​ ​ 自定义RecyclerView (2019-03-29 新增)
  • ​美团外卖,饿了么连结列表效果​ ​ (2020-06-19新增)

日历、时钟

Webview

ScrollView

ViewPager

WheelPicker

PopUpWindow


  • {​ ​暂停维护​ ​​} ​ ​EasyPopup​ ​ 对 PopupWindow 的封装。可指定相对于 anchor view 各个方位弹出,设置背景变暗,指定 ViewGroup 背景变暗等特性
  • ​BasePopup​ ​ 还在为PopupWindow烦恼吗?不如试试BasePopup.目前star 3K+
  • ​SmartPopupWindow​ ​ 提供关于PopupWindow使用过程中遇到的一些特殊问题的解决方案,例如:PopupWindow不响应点击外部消失和返回键消失的解决方法;PopupWindow精确计算要显示位置原理和方法;实现带箭头的上下文菜单遇到的坑;Android7.0 PopupWindow的兼容问题;屏幕旋转时调用PopupWindow update方法更新位置失效的问题及解决方案。

​BottomBar​ ​ 一个Material Design风格的底部导航的Android视图组件
  • ​NavigationTabBar​ ​ 一个具有丰富的动画效果的Android导航Tab工具栏组件。
  • ​ahbottomnavigation​ ​ material风格的底部导航
  • ​Material-BottomNavigation​
  • ​SmartTabLayout​ ​ 自定义的viewpager标题栏,在滚动时向用户提供连续反馈
  • ​material-menu​ ​ 带动画的导航栏
  • ​WaveSideBar​ ​ 带波浪动画的字母导航,类似通信录快速定位导航(2019.7.23新增)

  • 二、功能相关

    ​MultiImageSelector​ ​ 仿微信实现多图选择
  • ​GalleryFinal​ ​ 拍照、图片选择(单选/多选)、 裁剪(单/多裁剪)、旋转、ImageLoader无绑定任由开发者选择、功能可配置、主题样式可配置
  • ​Matisse​ ​ 图片选择
  • {​ ​停止维护​ ​​} ​ ​ImagePicker​ ​ 图片选择
  • ​TakePhoto​ ​ 拍照或从相册、文件中选择、裁剪图片、压缩图片的开源工具库
  • ​PictureSelector​ ​ 图片选择
  • ​android-crop​ ​ 图片裁剪
  • ​ImageEditor-Android​ ​ 图片编辑
  • ​boxing​ ​ 基于MVP模式的Android多媒体选择器
  • ​cropper​ ​ 图片裁剪
  • ​uCrop​ ​ Yalantis 出品的强大的图片裁剪库 ,支持缩放,旋转图片,支持各种比例的裁剪框
  • ​android-crop​ ​ 图片裁剪
  • ​cropiwa​ ​ 图片裁剪
  • ​SmartCropper​ ​ 智能图片裁剪框架。自动识别边框,手动调节选区,使用透视变换裁剪并矫正选区;适用于身份证,名片,文档等照片的裁剪。
  • ​Android-Image-Cropper​ ​ 图片裁剪
  • ​android-gpuimage​ ​ 图片滤镜框架
  • ​Blurry​ ​ 图片模糊
  • ​Horizon​ ​ 简单的Android视觉均衡器
  • ​GestureViews​ ​ 大图预览

  • 图片加载

    ​ExoPlayer​ ​ 谷歌出品的视频播放器
  • ​JiaoZiVideoPlayer​ ​ 饺子视频播放器
  • ​ijkplayer​ ​ ijk 播放器
  • ​GSYVideoPlayer​
  • ​VitamioBundle​ ​ 多媒体播放器
  • ​VideoPlayerManager​ ​ 帮助实现VideoPlayer控制,使得它更容易使用ListView和recyclerview。
  • ​PlayerBase​ ​ 专注于播放视图组件的高复用性和组件间的低耦合,轻松处理复杂业务。
  • ​DanmakuFlameMaster​ ​ 弹幕
  • ​AndroidVideoCache​ ​ 视频缓存
  • ​TicktockMusic​ ​ 一款 material design 风格的音乐播放器,可以播放本地和网络音乐,并且提供歌词显示。
  • ​Timber​ ​ 一个完整的音乐播放器
  • ​NiceVieoPlayer​ ​ 支持列表,完美切换全屏、小窗口的Android视频播放器

  • ​SmartRefreshLayout​ ​ Android智能下拉刷新框架
  • ​android-Ultra-Pull-To-Refresh​
  • ​Android-PullToRefresh​
  • ​SpringView​
  • ​Phoenix​

  • ​Material-Animations​ ​ Android Transition animations explanation with examples. 包括共享元素动画
  • ​Loop3DRotation-master​ ​ 3D旋转动画
  • ​lottie-android​ ​ 加载ae做的动画
  • ​AndroidViewAnimations​ ​ 动画合集
  • ​ParticleTextView​ ​ 粒子动画
  • ​ExpectAnim​ ​ 一个漂亮的动画效果
  • ​android-pathview​ ​ 路径动画
  • ​ViewAnimator​ ​ 动画合集
  • ​TextSurface​ ​ 炫酷的文字展示动画
  • ​CircularAnim​ ​ 水波纹动画
  • ​AndroidCarrouselLayout​ ​ 3D旋转动画

  • 轮播图

    权限

    二维码

    ​NewbieGuide​ ​ Android 快速实现新手引导层的库,通过简洁链式调用,一行代码实现引导层的显示
  • ​GuideView​ ​ 能够快速为任何一个View创建一个遮罩层,支持单个页面,多个引导提示,支持为高亮区域设置不同的图形,支持引导动画,方便扩展,良好支持fragment

  • 数据库

    图表

    ​BoomMenu​ ​ 爆炸菜单效果
  • ​Side-Menu.Android​ ​ 侧滑菜单
  • ​Context-Menu.Android​ ​​ 可以方便快速集成漂亮带有动画效果的上下文菜单,(​ ​https://links.jianshu.com/go?to=http%3A//yalantis.com/)[Yalantis]​ ​出品。
  • ​FlowingDrawer​ ​ 带手势的侧滑菜单
  • ​SlidingMenu​ ​ 侧滑菜单
  • ​android-menudrawer​ ​ 滑出式菜单,通过拖动屏幕边缘滑出菜单,支持屏幕上下左右划出,支持当前 View 处于上下层,支持 Windows 边缘、ListView 边缘、ViewPager 变化划出菜单等。
  • ​AndroidResideMenu​ ​ 仿 Dribbble 的边栏菜单
  • ​MaterialDrawer​ ​ Material Design 风格的导航抽屉,提供简便且强大的定制功能
  • ​bottomsheet​ ​ 底部菜单

  • 手势关闭

    事件处理

    换肤

    状态栏

    颜色选择器

    ​flexbox-layout​ ​ 柔性布局
  • ​overscroll-decor​ ​ 仿IOS回弹效果
  • ​ChipsLayoutManager​ ​ TAG 布局
  • ​vlayout​ ​ VirtualLayout是一个针对RecyclerView的LayoutManager扩展, 主要提供一整套布局方案和布局间的组件复用的问题。
  • ​ArcLayout​ ​ 弧形布局
  • ​FlowLayout​ ​ Android流式布局,支持单选、多选等,适合用于产品标签等。
  • ​MaterialDesignLibrary​ ​ 包含android l组件的库,供您在低版本中使用。
  • ​material​ ​ 包含android l组件的库,供您在低版本中使用。
  • ​QMUI_Android​ ​ 快速搭建一个具备基本设计还原效果的 Android 项目
  • ​Android-Bootstrap​ ​ Android 上的bootstrap 效果
  • ​ScalingLayout​ ​ 缩放布局
  • ​android-ConstraintLayoutExamples​ ​ ConstraintLayout 布局的官方demo
  • ​ViewSpreadTranslationController​ ​ 视图扩散切换控制器

  • ​AndroidAutoSize​ ​ 今日头条屏幕适配方案终极版

    ​AndroidPdfViewer​ ​ pdf 加载
  • ​android-job​ ​ 用于后台运行延迟的作业

  • 三、网络相关

    http

    json

    下载、上传

    ​RxAndroid​ ​ 对RxJava在Android上的扩展,使得Android上也很容易实现reactive components,简化线程操作,从而写出很漂亮的代码。
  • ​RxJava​
  • ​RxCache​ ​ 专门为Retrifit打造的缓存库
  • ​ReactiveNetwork​ ​ 检测网络状态
  • ​RxLifecycle​ ​ 管理rx的生命周期
  • ​AutoDispose​ ​ rx 工具类

  • 四、自定义View

    蛛网图

    翻书效果

    图案解锁

    望远镜效果(部分高亮)

    ​SeatTable​ ​ 电影选座效果
  • ​FlightSeat​ ​ 飞机票选座效果
  • ​GoodView​ ​ 点赞效果
  • ​Android-PullLayout​ ​ 仿uc下拉效果
  • ​AlphaIndicatorView​ ​ 仿微信底部TAB 滑动效果
  • ​RadarView​ ​ 高仿360检测评分动画
  • ​CardStackView​ ​ 三种炫酷的列表卡片滑动动画
  • ​TapTargetView​ ​ 难于描述,还是自己看效果图吧
  • ​CoordinatorTabLayout​ ​ 可快速实现TabLayout与CoordinatorLayout相结合的样式
  • ​ShimmerLayout​ ​ 扫光效果
  • ​PhotoMovie​ ​ 仿抖音照片电影
  • ​MyCardView​ ​ 一个支持自定义阴影颜色的 CardView
  • ​WaveSideBar​ ​一个快速跳跃分组的侧边栏控件,示例中配合RecyclerView实现。

  • 工具类

    组件化

    ​tinker​ ​ 它支持dex、库和资源更新,无需重新安装apk
  • ​Nuwa​
  • ​AndFix​ ​ 阿里的方案
  • ​VirtualXposed​

  • ​RePlugin​ ​ RePlugin是一套完整的、稳定的、适合全面使用的,占坑类插件化方案,由360手机卫士的RePlugin Team研发,也是业内首个提出”全面插件化“(全面特性、全面兼容、全面使用)的方案。

    ​walle​ ​ Android Signature V2 Scheme签名下的新一代渠道包打包神器
  • ​packer-ng-plugin​ ​ 100个渠道包只需要10秒钟

  • ​Apktool​ ​ 反编译工具

    ​dagger​ ​ 依赖注入,适用于 Android 和 Java

    日志

    ​ARouter​ ​ 帮助 Android App 进行组件化改造的路由框架

    内存泄漏检测

    ​X2C​ ​ 在编译生成APK期间,将需要翻译的layout翻译生成对应的java文件,这样对于开发人员来说写布局还是写原来的xml,但对于程序来说,运行时加载的是对应的java文件。

    画图

    ​Luban​ ​ Android图片压缩工具
  • ​Compressor​
  • ​AiYaCompressHelper​

  • ​cameraview​ ​ 轻松集成camera
  • ​camerakit-android​

  • 富文本编辑器

    ​MagicIndicator​ ​ 强大、可定制、易扩展的 ViewPager 指示器框架。
  • ​dotsindicator​ ​ 视图页导航点指示器

  • 自定义字体加载

    文件加密

    表情包

    相机滤镜

    车牌识别

    键盘冲突

    ​Android-BLE​ ​ AndroidBLE蓝牙框架,包括扫描、连接、设置通知、发送数据、读取、接收数据和OTA升级以及各种直观的回调,近乎一行代码植入项目,可扩展配置蓝牙相关操作。

    ​Matrix​ ​ 通过各种性能监控方案,对性能监控项的异常数据进行采集和分析,输出相应的问题分析、定位与优化建议,从而帮助开发者开发出更高质量的应用。
  • ​pandora​ ​ 一款无需ROOT、可以直接在应用内查看和修改包括网络、数据库、UI等的工具箱,适合开发和测试阶段的各种问题的快速定位。
  • ​ArgusAPM​ ​ 。ArgusAPM是360移动端产品使用的可视化性能监控平台,为移动端APP提供性能监控与管理,可以迅速发现和定位各类APP性能和使用问题,帮助APP不断的提升用户体验。
  • ​AndroidPerformanceMonitor​ ​ 非侵入式的性能监控组件
  • ​UETool​ ​ 一个各方人员(设计师、程序员、测试)都可以使用的调试工具。它可以作用于任何显示在屏幕上的 view,比如 Activity/Fragment/Dialog/PopupWindow 等等。
  • ​robolectric​ ​ 单元测试

  • 其他

    扩展:



    github上的一个项目, 收集了好多的Android开源项目。
    ​android-open-project​



    ​Android TV端的开源项目收集​



    腾讯开源的QMUI,内包含了许多实用的UI控件(2020-=6-19新增)
    github链接:https://github.com/Tencent/QMUI_Android
    QMUI官网:https://qmuiteam.com/android



    ​GitHub上受欢迎的Android UI Library​ ​ 也是一个大的开源项目集合,可同时关注,互为补充。



    ​AndroidProject 架构设计参考项目​