android 中, view 的绘制包含三步: 1. onMeasure(), 对view进行测量; 2. onLayout(),对view进行布局; 3.onDraw(),对view进行绘制。 view的touch事件传递顺序: Activity——》window——》viewGroup——》c ...
分类:
移动开发 时间:
2016-07-10 18:08:11
阅读次数:
174
每一个视图的绘制过程都必须经历三个最主要的阶段,即onMeasure()、onLayout()和onDraw(),下面我们逐个对这三个阶段展开进行探讨。 一. onMeasure() measure是测量的意思,那么onMeasure()方法顾名思义就是用于测量视图的大小的。View系统的绘制流程会 ...
分类:
其他好文 时间:
2016-07-04 01:02:16
阅读次数:
248
下面是分析ListView初始化的源码流程分析。 在AbsListView.onLayout中会调用layoutChildren(),由listview实现 ListView.layoutChildren: ListView.fillFromTop: ListView.fillDown: ...
分类:
移动开发 时间:
2016-06-29 18:57:03
阅读次数:
176
本文来自于腾讯bugly社区,原文地址为:http://bugly.qq.com/bbs/forum.php?mod=viewthread&tid=1180前言我们所熟知的,Android 的图形绘制主要是基于 View 这个类实现。 每个 View 的绘制都需要经过 onMeasure、onLayout、onDraw 三步曲,分别对应到测量大小、布局、绘制。Android 系统为了简化线程开发,降...
分类:
移动开发 时间:
2016-06-28 13:10:07
阅读次数:
412
我们所熟知的,Android 的图形绘制主要是基于 View 这个类实现。 每个 View 的绘制都需要经过 onMeasure、onLayout、onDraw 三步曲,分别对应到测量大小、布局、绘制。
Android 系统为了简化线程开发,降低应用开发的难度,将这三个过程都放在应用的主线程(UI ... ...
分类:
移动开发 时间:
2016-06-27 19:23:12
阅读次数:
632
效果图
核心方法
1、三个构造方法(一个参数, 两个参数, 三个参数)
2、onMesure 测量控件
4、onLayout 分配控件布局
5、computeScroll()
计算滑动
6、onDraw 绘制控件
7、onTouchEvent()
中断事件传递
8、dispatchTouchEvent
分发事件
实现步骤:
1 初...
分类:
其他好文 时间:
2016-06-21 08:02:20
阅读次数:
271
自定义View详解虽然之前也分析过View回执过程,但是如果让我自己集成ViewGroup然后自己重新onMeasure,onLayout,onDraw方法自定义View我还是会头疼。今天索性来系统的学习下。onMeasure/**
*
* Measure the view and its content to determine the measured width a...
分类:
其他好文 时间:
2016-06-12 02:59:22
阅读次数:
231
实现滑动的基本思想是:当触摸View时,系统记下当前触摸点坐标;当手指移动时,系统记下移动后的触摸点坐标,从而获取到相对于前一次坐标点的偏移量,并通过偏移量来修改View的坐标,这样不断重复,从而实现滑动过程.2.1 Layout方法在View进行绘制时,会调用onLayout()方法来设置显示的位置
通过修改View的left,top,right,bottom四个属性来控制View的坐标,在每次...
分类:
移动开发 时间:
2016-05-27 11:23:47
阅读次数:
570
可以说重载onMeasure(),onLayout(),onDraw()三个函数构建了自定义View的外观形象。再加上onTouchEvent()等重载视图的行为,可以构建任何我们需要的可感知到的自定义View。
本节我们探索自定义View中onMeasure()起到了什么样的作用,题外要插的一句是,Activity框架,View框架中大量的on函数基本上都应用到了Template模式(模板设计...
分类:
其他好文 时间:
2016-05-26 06:26:00
阅读次数:
283
1、在ViewGroup中使用onLayout()中,获取子元素的width and height,不能用getWidth()/getHeight 必须使用getMeasureWidth()/Height() 翻阅Android开发艺术探索发现,getWidth()/height()是在onLayo ...
分类:
其他好文 时间:
2016-05-18 21:27:30
阅读次数:
183