作者:郭孝星
微博:郭孝星的新浪微博
邮箱:guoxiaoxingv@163.com
博客:http://blog.csdn.net/allenwells
Github:https://github.com/guoxiaoxing
本篇文章是Github优秀Android项目分析文档的章节列表,以后会陆续更新不同的Android开源项目的相关分析文章,更新的目录会在这里展示。
一 用户界面
1.1 AdapterView及子类
本分类下包含的控件有:ListView、GridView
1.1.1 liaohuqiu/android-Ultra-Pull-To-Refresh
Ultra Pull to Refresh for Android. Support all the views.
继承于 ViewGroup 可以包含任何 View。功能。使用简单。定制性强,支持 API LEVEL >= 8。
功能演示
1.1.2 47deg/android-swipelistview
An Android List View implementation with support for drawable cells and many other swipe related features
支持定义 ListView 左右滑动事件,支持左右滑动位移,支持定义动画时间。
功能演示
1.1.3 yydcdut/SlideAndDragListView
SlideAndDragListView (SDLV) is an extension of the Android ListView that enables slide and drag-and-drop reordering of list items.
支持ListView的Item的拖动排序、左右滑动事件,可自定义左右滑动显示文字、图标、位移,同时支持onItemClick、onItemLongClick等监听器,提供丰富的回调接口。
功能演示
1.1.4 baoyongzhang/SwipeMenuListView
A swipe menu for ListView.
针对 ListView item 的侧滑菜单
功能演示
1.1.5 Frank-Zhu/PullZoomView
An Android custom ListView and ScrollView with pull to zoom-in.
支持下拉时 HeaderView 缩放的 ListView、ScrollView
功能演示
1.1.6 traex/CalendarListview
Implementation of a calendar in a ListView. One month by row
实现每个月一行日历效果的 ListView
功能演示
1.1.7 timehop/sticky-headers-recyclerview
Sticky Headers decorator for Android’s RecyclerView
GroupName 滑动到顶端时会固定不动直到另外一个 GroupName 到达顶端的 ListView,采用 support-v7 中的 RecyclerView 实现
功能演示
1.1.8 JorgeCastilloPrz/PagedHeadListView
Android boosted ListView supporting paginated header with a new material page indicator.
支持 paginated header 以及 material page indicator 的 ListView.
功能演示
1.1.9 Yalantis/Phoenix
Phoenix Pull-to-Refresh
提供一个简单可以自定义的下拉刷新实现。
功能演示
1.1.10 jcodeing/ExtractWordView
Extract Word Demo For Android
一个可以提取单词的 ListView,支持”放大镜”效果。
1.1.11 LuckyJayce/MVCHelper
实现下拉刷新,滚动底部自动加载更多,分页加载,自动切换显示网络失败布局,暂无数据布局,支持任意view,支持切换主流下拉刷新框架,真正的android MVC架构,refresh,loadmore
1.2 TextView及其子类
1.2.1 arcadefire/nice-spinner
A nice spinner for Android.
基于TextView和PopupWindow开发的Spinner控件,可以自定义样式。
1.3 ImageView及其子类
1.4 ProgressBar及其子类
1.5 ViewAnimator及其子类
1.6 Dialog及其子类
1.7 Menu及其子类
1.8 ActtionBar及其子类
1.9 其他控件
二 应用组件
三 事件处理
四 图像处理
4.1 nostra13/Android-Universal-Image-Loader
Powerful and flexible library for loading, caching and displaying images on Android.
- 多线程图像载入,同步或异步。
- 高度的可定制性,可以定制thread executors, downloader, decoder, memory and disk cache, display image options, etc。
- 支持内存缓存和硬盘缓存。
- 支持载入过程(包括下载过程)的监听。
4.2 square/picasso
A powerful image downloading and caching library for Android.
- 支持自动检测 adapter 的重用并取消之前的下载
- 支持图片变换
- 支持加载本地资源
- 支持设置占位资源
- 支持 debug 模式
4.3 liaohuqiu/cube-sdk
Cube-SDK 是一个开发框架。这个框架致力于快速实现需求,解放生产力。
阿里巴巴一淘使用的图片加载,综合了 Android-Universal-Image-Loader 和 square 等组件优点,简单易用,良好的中文文档支持。
4.4 facebook/fresco
An Android library for managing images and the memory they use.
- 两个内存缓存加上磁盘缓存构成了三级缓存
- 支持流式,可以类似网页上模糊渐进式显示图片
- 对多帧动画图片支持更好,如 Gif、WebP
- 更多样的显示,如圆角、进度条、点击重试、自定义对焦点
- 更多样的加载,如支持 EXIF、全面支持 WebP
- 支持 Android 2.3+
4.5 bumptech/glide
An image loading and caching library for Android focused on smooth scrolling.
- 支持GIF动画的解码
- 支持本地视频剧照的解码
- 支持缩略图
- Activity 生命周期的集成
- 转码的支持
- 动画的支持
- OkHttp 和 Volley 的支持
五 网络通信
5.1 google/Volley
5.2 TwistedEquations/CrossBow
Wrapper Around the Volley library from Google to make it easier to manage and handle image loading.
TwistVolley 是对 Volley 的一个封装库。提供类似 Picasso 一样的串联式 API。使得使用 Volley 更加方便。
5.3 square/okhttp
An HTTP+SPDY client for Android and Java applications.
- 支持 SPDY协议,PDY 协议是 Google 开发的基于传输控制协议的应用层协议,通过压缩,多路复用(一个 TCP链接传送网页和图片等资源)和优先级来缩短加载时间。
- 如果SPDY不可用,利用连接池减少请求延迟
- Gzip压缩
- Response缓存减少不必要的请求
5.4 square/retrofit0
Type-safe HTTP client for Android and Java by Square.
5.5 stephanenicolas/robospice
RoboSpice is a modular android library that makes writing asynchronous long running tasks easy. It is specialized in network requests, supports caching and offers REST requests out-of-the box using extension modules.
Android 异步网络请求工具,支持缓存、REST 等。