项目地址:ViewAnimator,本文分析版本: dfa45e0
uCrop源代码分析
1.简介
在项目开发中,我们难免会有一些功能,比如上传用户头像,上传图片等等会使用到图片裁剪的功能,为了节省开发时间,我们一般不会去自己开发一个图片剪裁库,这时候我们会去github
上寻找各种开源的图片裁剪库,找来找去会发现目前最好用的就要数Yalantis
公司出的uCrop了.这也是最近刚刚开源的一个库,Yalantis
专门写了一篇文章来说明问什么会有uCrop
这个项目,以及对比了目前主流的几个图片剪裁的项目,地址在这.英文不错的同学可以去看看,话说英文对工程师来说还是很重要的,读英文资料以及逛英文社区可以很好的拓宽我们的技术视野,也能第一时间接触最前沿的技术。好了废话不多说,今天我们就来看看uCrop
这个目前最好的图片剪裁库是如何使用以及实现的:
ViewDragHelper源代码分析
1.简介
在上一篇文章SwipeBackLayout源代码分析中,我们了解了ViewDragHelper
是可以帮助我们处理各种拖拽事件的类.使用好ViewDragHelper
能帮助我们做出各种酷炫的交互,今天我们就来分析一下ViewDragHelper
的使用与实现:
SwipeBackLayout源代码分析
项目地址:SwipeBackLayout,本文分析版本: e4ddae6d
1.简介
SwipeBackLayout是一个在Android
平台上实现了Activity
滑动返回的库.实现了左,右,上,下四种手势返回的功能,在ios
里滑动返回是系统自带可以配置的功能,而在我们Android
上并没有系统级别的提供,但是主流应用比如微信就带有滑动返回功能,而且滑动返回是一个非常容易培养用户使用习惯的操作,用惯了滑动返回再用没有滑动返回的应用简直不能好好用了。。我自己正是滑动返回这个手势的重度使用者,我非常喜欢用滑动返回,所以在我开发过的应用里我都尽量集成了滑动返回这个功能,当然我相信是有很多人有滑动返回的使用习惯的。SwipeBackLayout
应该算是使用范围最广的滑动返回的库了,我一直也是这个库的使用者,今天我们就来分析一下这个库是如何实现的:
Picasso源代码分析
1.简介
Picasso是Square公司开源的一个Android平台上的图片加载框架,也是大名鼎鼎的JakeWharton的代表作品之一.对于图片加载和缓存框架,优秀的开源作品有不少。比如:Android-Universal-Image-Loader,Glide,fresco等等.我自己有在项目中使用过的有Picasso
,U-I-L
,Glide
.对于一般的应用上面这些图片加载和缓存框架都是能满足使用的,Trinea有一篇关于这些框架的对比文章Android 三大图片缓存原理、特性对比.有兴趣了解的可以去看看,本文我们主要讲Picasso
的使用方法和源码分析.
EventBus 3.0 源代码分析
1.简介
想必每个入了门的Android开发者都多少对EventBus有过了解,EventBus是一个Android事件发布/订阅框架,通过解耦发布者和订阅者简化 Android 事件传递。EventBus使用简单,并将事件发布和订阅充分解耦,从而使代码更简洁。一直以来很受开发者的欢迎,截止到目前EventBus的安装量已经超过一亿次。足以看出EventBus有多么的优秀。
目前网上已经有不少优秀的EventBus的源码分析文章,我也一直在犹豫要不要再写一次,一方面是因为最近EventBus刚好更新了3.0版本,事件的订阅已经从方法名换成了注解的方式,而且整体还是有不少变化。另外一方面也是为了自己学习。毕竟写出来会有更深层次的理解。好了,下面让我们看看3.0版本EventBus的使用方法.
HTextView源代码分析
HTextView是一个用来给TextView里的文字做各种转换动画的开源库,第一次看到这个库的时候就被这些动画吸引了,不仅提供了多种动画选择,而且还有重复字符的位移动画,的确别出心裁,虽然实现起来并不是多么复杂,但是从1700+的star数上还是可以看出它的受欢迎程度,所以今天我们就来分析看看它到底是如何实现的.有哪些值得我们借鉴的地方,又有哪些不完善的地方。
使用方法
HTextView的使用方法还是比较简单的,只需要调用hTextView.setAnimateType();
来设定一种动画的类型,再调用hTextView.animateText();
将字符串传入就可以执行切换动画了,此外还提供了hTextView.reset();
方法来重置动画,具体代码如下:
hTextView.setAnimateType(HTextViewType.SCALE);
hTextView.animateText(sentences[mCounter]);
Welcome 2016
终于搭好了自己的博客网站,转眼2016年的第一个月都快过去了.一直想写一篇对2015年总结的文章和2016年的规划,今天终于动笔了.还好赶在了春节前~
Review 2015
记得2014年底的时候,我给自己定了三个三年内争取完成的目标:
- 在github上拥有超过200star的项目.
- 在用户量百万以上APP的公司工作.
- 工资突破五位数.
当初定这个目标的时候刚接触Android大半年,当时觉得这三个目标都挺遥远的.所以给自己三年时间来完成,欣慰的是从今天来看这当初的这三个目标,我在2015年都做到了而且都超出了目标很多:
- 七月份的时候开源了StickerCamera.意想不到的是项目的star数迅速超过了1000..记得当初我给自己说过,如果StickerCamera的star数超过150就给自己一次说走就走的旅行..虽然现在还没去,不过还是很开心.
- 十月份的时候,加入了薄荷,整个过程真的是特别奇妙的一段体验,以后有时间会单独写关于薄荷以及我们的团队的文章.总之在这工作真的特爽~薄荷APP的用户量是千万级的.所以第二个目标也算是超额完成吧.
- 第三个目标是在五月份的时候完成的,主要还是因为现在移动互联网岗位稀缺的因素吧,整个行业的工资都是这样,培训出来都是10k+,所以这点没什么好说的了..
所以回顾整个2015年,对我自己来说我做了不少正确的决定,每一次做的决定都为现在做下了铺垫,所以对自己2015的表现还算满意,值得一提的是,年底来薄荷之后我通过科学的减肥也算是真正的瘦下来了,目前腹肌进行时中.加油!