绘制VIew本身的内容,通过调用View.onDraw(canvas)函数实现 绘制自己的孩子通过dispatchDraw(canvas)实现 View组件的绘制会调用draw(Canvas canvas)方法,draw过程中主要是先画Drawable背景,对 drawable调用setBounds ...
分类:
移动开发 时间:
2017-07-21 13:20:03
阅读次数:
178
1.三个可进行绘制的方法: 在自定义视图中,有三个函数可以重写用于界面绘制,在视图创建过程中,三个函数的执行顺序依次是:onLayout、onDraw、dispatchDraw。 1、onLayout(boolean changed, int left, int top, int right, in ...
分类:
其他好文 时间:
2017-03-08 22:37:16
阅读次数:
188
例子:在TextView的基础上画东西,如果这个TextView没有背景drawable,使用的不是draw( )方法,而是dispatchDraw( ) 方法。 Android的view组件显示主要经过mesure, layout和draw这三个过程。在mesure阶段里调用mesure(int ...
分类:
其他好文 时间:
2017-02-25 01:11:30
阅读次数:
170
转载请注明出处:http://blog.csdn.net/hejjunlin/article/details/52204143
View的Layout时序图
ViewRootImpl.performTraversals过程
ViewRootImpl.performDraw过程
View.draw方法
View.dispatchDraw过程
LinearLayout的onDraw过程...
分类:
移动开发 时间:
2016-08-18 17:17:57
阅读次数:
362
绘制VIew本身的内容,通过调用View.onDraw(canvas)函数实现 绘制自己的孩子通过dispatchDraw(canvas)实现 View组件的绘制会调用draw(Canvas canvas)方法,draw过程中主要是先画Drawable背景,对 drawable调用setBounds ...
分类:
其他好文 时间:
2016-05-30 10:03:14
阅读次数:
124
View中:publicvoiddraw(Canvas canvas) {/*1. Draw the background 绘制背景2. If necessary, save the canvas' layers to prepare for fading 如有必要,颜色渐变淡之前保存画布层(即锁....
分类:
移动开发 时间:
2015-11-05 14:56:14
阅读次数:
349
结合View.java的源码,在draw方法中:
public void draw(Canvas canvas) {
/*View的绘制过程分为下面几步:1. Draw the background 绘制背景2. If necessary, save the canvas' layers to prepare for fading 如有必要,颜色渐变淡之前保存画布层(即锁定原有的画布...
分类:
其他好文 时间:
2015-08-10 00:28:53
阅读次数:
118
View中:
public void draw(Canvas canvas) {
/*
1. Draw the background 绘制背景
2. If necessary, save the canvas' layers to prepare for fading 如有必要,颜色渐变淡之前保存画布层(即锁定原有的画布内容)
3. Draw vie...
分类:
移动开发 时间:
2015-02-28 18:47:04
阅读次数:
183
今天我们来模仿一下支付宝钱包首页中带有分割线的GridView,俗称九宫格。先上图,是你想要的效果么?如果是请继续往下看。
博主在做这个效果之前,也参考了其他的一些方案,比如说定义一个自定义的GridView,然后在dispatchDraw()方法中在每个item的四周加上一条分割线,这是需要靠算法来实现的,最后这种方法实现的效果并不理想,会出现有些item中没有加上分割线,很难达到我们想要的这种效果。
其实实现这种效果并不难,原理就是让每个item都设置成带有分割线的背景,这样就很容易实现了。...
分类:
移动开发 时间:
2015-02-04 16:41:39
阅读次数:
199