2018-05-05项目中引用的开源框架
现在开发项目,所有事情都要从0到1,效率低下不说,你也未必有那个能力。借此机会感谢为IT Android界提供开源框架的大神们致谢,谢谢大神们,辛苦了,我们不会忘记你们,吃水不忘挖井人。
ExpandableTextView
为了保持界面UI的整洁以及将尽可能多的内容显示在有限的空间中,往往需要将长度过长的TextView进行内容截取。本控件满足了TextView可在"完整内容"与"截取内容"两种模式下进行切换的需求,且可应用在ListView/RecyclerView中并可以动态更新内容。
SmoothInputLayout
仿微信式,平滑输入面板,防止键盘的出现与消失导致特殊输入面板的顶起与塌陷。
screenshots.gif
Android-ScrollableHeader
如果需要在Viewpaper中增加一个头部,让头部在Viewpaper在向下滑动时隐藏,向上滑动时退出,这种情况Android的原生控件便无法满足我们想要的需求,于是我们自己来编写个可隐藏头部的滑动控件,在ScrollableHeader项目中自定义了一个ScrollableLayout布局,布局通过监听滚动条的滑动事件达到隐藏显示头部的目的。
该框架作者乱起名字,乱的让人无语,看看如何引用的。
dependencies {
compile 'com.github.cpoopc:scrollablelayoutlib:1.0.1' // 目前只发布到jcenter
}
preview.gif
其他介绍该框架的文章
retrofit
Retrofit 是 Square 公司出品的 HTTP 请求库, 同时是 Square 是最早开源项目之一, Retrofit是目前 Android 最流行的 Http Client 库之一, 目前版本是 Retrofit2.0 Beta4, 越来越多 Android开发者开始使用这个请求库了
xUtils
xUtils 是一个快速开发框架, 里面包含 DbUtils, ViewUtils, HttpUtils, BitmapUtils 四大模块, 可用于快速开发, 支持大文件上传, 拥有更加灵活的 ORM, 最低兼容 Android 2.2
RxJava
RxJava 是一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库, 简单来说它就是一个实现异步操作的库, RxJava 的优点在于一个词 “简洁”, 使用它就算你程序逻辑有多么复杂, 它依然能够保持简洁易懂
PhotoView
PhotoView 是 ImageView 的子类, 支持所有 ImageView 的源生行为, 例如: 支持 Pinch手势自由缩放, 支持双击放大/还原, 支持平滑滚动等等, 并且非常方便的与 ImageLoader/Picasso之类的网络图片读取库集成使用, 还方便的与 ViewPager 等同样支持滑动手势的控件集成
TIM图片20180508094846.jpg TIM图片20180508094849.jpg
RxAndroid
由 JakeWharton 大神主导开发的项目, RxAndroid 是 RxJava 的一个针对 Android 平台的扩展, 主要用于 Android 开发
glide
是 Google 员工的开源项目, 广泛应用于 Google 一些 App 上, 在 2014 年 Google I/O 大会上被推荐使用, Glide 和 Picasso 被人拿来比较研究过, Glide 与 Picasso 有 90% 的相似度, 但在一些细节上还是有点区别的, 各有各优缺点看君选择
glide-transformations
对图片进行裁剪、模糊、滤镜等处理:独立的图片处理库。Glide框架结合glide-transformations使用。
TIM图片20180507144543.jpg
Android-PullToRefresh (不建议使用)
一个强大的拉动刷新开源项目,支持各种控件下拉刷新,ListView、ViewPager、WebView、ExpandableListView、GridView、ScrollView、Horizontal ScrollView、Fragment上下左右拉动刷新, 不过现在这个项目已经停止维护更新了, 推荐使用 Android-Ultra-Pull-to-Refresh
android-gif-drawable
一个支持 gif 显示的 view, 用 jni 实现的, 编译生成 so 库后直接 xml 定义 view 即可, 简单易用
ExoPlayer
ExoPlayer 是 Google 开发团队开源出来的一个媒体播放库, 比 Android 框架原生的 MediaPlayer拥有更多优点支持动态的自适应流 HTTP (DASH) 和平滑流, 支持高级的 HLS 特性, 支持自定义和扩治你的使用场景等等
android-flowlayout
A very convenient and powerful flow layout by Lan
flowlayout_add.gif
FlowLayout
Android流式布局,支持单选、多选等,适合用于产品标签等。
flowlayout_03.gifPickerView
这是一款仿iOS的PickerView控件,有时间选择器和选项选择器。
TimePickerView 时间选择器,支持年月日时分,年月日,年月,时分等格式。
TIM图片20180507151951.png
galleryfinal
RxGalleryFinal是一个android图片/视频文件选择器。其支持多选、单选、拍摄和裁剪,主题可自定义,无强制绑定第三方图片加载器。
TIM图片20180507201448.png TIM图片20180507201451.jpg
BGASwipeBackLayout
Android Activity 滑动返回。支持微信滑动返回样式、横屏滑动返回、全屏滑动返回。
TIM图片20180507202138.png
volley
Volley是Google官方出的一套小而巧的异步请求库,该框架封装的扩展性很强,支持HttpClient、HttpUrlConnection,甚至支持OkHttp,而且Volley里面也封装了ImageLoader,所以如果你愿意你甚至不需要使用图片加载框架,不过这块功能没有一些专门的图片加载框架强大,对于简单的需求可以使用,对于稍复杂点的需求还是需要用到专门的图片加载框架。
Volley也有缺陷,比如不支持post大数据,所以不适合上传文件。不过Volley设计的初衷本身也就是为频繁的、数据量小的网络请求而生!
RollViewPager
自动轮播的Viewpager
支持无限循环。 触摸时会暂停播放,直到结束触摸一个延迟周期以后继续播放。 看起来就像这样。指示器可以为点可以为数字还可以自定义,位置也可以变。