自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

转载 Android APT 技术浅谈

安卓AOP三剑客: APT, AspectJ, JavassistAndroid APT APT(Annotation Processing Tool 的简称),可以在代码编译期解析注解,并且生成新的 Java 文件,减少手动的代码输入。现在有很多主流库都用上了 APT,比如 Dagger2, ButterKnife, EventBus3 等代表框架:DataBindingDagger2

2017-10-14 11:10:48 8279

原创 Recycler.Adapter自动化配置

AutoRecyclerAdapter 我在写大量重复RecyclerView.Adapter的时候,发现我的大部分时间都花在写重复,机械式的if与else,不论是getItemViewType,onCreateViewHolder,onBindViewHolder还是setSpanSizeLookup的getSpanSize,都充斥着大量的if与else。 写重复的代码一直困扰着我。

2017-05-06 00:00:11 890

原创 ButterKnife第三方库源码分析

ButterKnife原理其实也很简单我的Github博客详解ButterKnife是大名鼎鼎JakeWharton热门开源项目的其中一个,让开发者不再重复的进行findViewById的操作。配合android studio的插件,一键自动生成xml文件所有view的实例。ButterKnife为什么会那么神奇,自动帮助开发者省去了繁琐的操作,他的实现的原理到底是怎么样的呢?下面我们从代码使用上,

2016-11-09 23:42:45 513

原创 Handler,MessageQueue,Message,Looper源码分析

Handler机制源码分析我的github博客详解Handler 核心成员变量与方法:MessageQueue,Message 核心成员变量与方法:Looper 核心成员变量与方法:Handler的工作原理涉及:Handler,MessageQueue,Message,Looper,ThreadLocal 等多个类简单分析:1,Handler初始化都做些什么?2,Handler的常用几种方法有哪些

2016-11-08 16:45:12 700

原创 RatioLayout一个屏幕适配三方库源码分析

RatioLayout一个屏幕适配三方库源码分析使用dp进行UI设置:可以看出,在不同分辨率或者密度的屏幕,相同dp值设置的效果是不同的。使用ratio进行UI设置(按比例设置):可以看出,在不同分辨率或者密度的屏幕,ratio按比例设置的效果是比较出色的。简单分析RatioLayout:1,初始化一些参数,设置数据,为了在xml中设置属性到自定义布局中使用 2,在系统测量之前手动测量一次,获取到

2016-11-08 13:11:55 919

原创 HorizontalNumberView与seekbar共享滑动的自定义view

这是一个简单的,能与seekbar共享滑动的自定义view我的博客:详解简单分析:初始化一些参数,设置数据,准备在onDraw方法中连续绘制TextView计算出TextView绘制的坐标点,根据左滑还是右滑设置TextView之间间隙,大小,颜色将seekbar注入进来,根据对调监听设置当前位置,进行重绘,绘制最新的数组列表实现难点:计算出绘制数组宽度与高度TextView绘制坐标与方

2016-10-31 01:04:19 494

原创 仿格瓦拉双层拖拽布局,格瓦拉电影详情界面

这是一个复杂的控件,双层布局,可滑动,可拖拽Demo下载:我的Github DoublePull格瓦拉实际效果图:简单分析:根部局使用了RelativeLayout,有两个子布局:外层布局与内层布局。外层布局。根布局为自定义ScrollView,有两子布局:HeaderFrameLayout与PullRelativeLayout内层布局。根部局为RelativeLayout,有两子布局:Rec

2016-07-09 04:14:35 1219 3

原创 Retrofit源码分析

通过一次网络请求,来分析Retrofit源码Retrofit第三方开源库,最近在很多地方都看到有人在使用。用了之后,感觉这是一个很简洁,代码维护成本较低的开源库。Retrofit一般会依赖OkHttp这个库,它访问网络依赖OkHttpClient,通常情况下都是:Retrofit + OkHttp一起使用的。Retrofit也支持RxJava作为适配器工厂,Retrofit + OkHttp + R

2016-07-06 02:52:43 598 1

原创 TransparentToolBar 一个简单随着滚动控件滚动,不断改变颜色透明度的ToolBar

一个简单随着滚动控件滚动,不断改变颜色透明度的ToolBarDemo下载:我的Github TransparentToolBarTransparentToolBar它是一个跟随滚动控件:例如ScrollView,RecyclerView这样的控件,跟随滚动不断改变自身背景色的透明度。既然要跟随变化,就必须获取到滚动控件的top值做为计算参数。所以,需要设置滚动控件的ScrollChangeListe

2016-07-03 19:27:05 2911

原创 DirectionControlView 一个方向控制自定义View

这是一个可识别上滑,下滑,左滑,右滑,方向识别与控制的自定义ViewDemo下载:我的Github DirectionControlViewDirectionControlView它是一个控制面板之类的View,可以处理在这个View上面,左滑,右滑,上滑,下滑,单击,双击事件。这个自定义View设计起来非常简单,使用的核心就是:GestureDetector,手势识别器,我只是把它用到了这个Vie

2016-07-03 14:29:45 955

原创 RippleView水波纹,涟漪效果

模仿水波纹,涟漪效果,可用于设备查找之类的特效Demo下载:我的Github RippleView其实这是一个很简单的自定义View,只需要一个类,然后对外提供状态回调接口和设置属性的方法即可。下面要说设计思路了。1,自定义一个View。2,在onDraw方法里画圆,初始化画笔,半径多少,要画几个圆,实心圆还是空心圆,这些都要想好。3,通过ValueAnimator 动画每一贞的回调改变圆半径,调用

2016-07-02 18:17:52 2913 3

原创 对RecyclerView Item做动画

对RecyclerView Item做动画对RecyclerView Item做动画,刚刚开始研究的时候一些坑,在这里把一些设计思路分享出去添加动态位移,静态位移,缩放等动画,保证了动画状态的平滑衔接效果图: 我的Github,Demo下载RecyclerView,ListView这些具有Item复用性的View,想要对其Item做动画,需要注意以下几点: 1,如果要一点击,让所有Item

2016-07-01 01:40:43 4825 4

原创 Scroller的使用,让View随心所欲的移动

Scroller的使用,让View随心所欲的移动吧效果图: Scroller能控制View自由的移动,相对于其他让View移动的api,例如ViewDragHelper, 我个人倾向于使用Scroller,因为他使用起来简单,感觉更灵活一些。 值得注意的是,在一个View使用Scroller是不能让这个View移动的, 需要在ViewGroup或者他的子类里使用Scroller,才能让

2016-06-20 23:01:59 993

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除