以前在研究自定义空间的时候,查看过View和ViewGroup绘制的流程的。只是定性的知道会经过onMeasure—onLayout—onDraw这些流程。上一篇Android视图加载到窗口的过程分析中分析了视图加载到窗口的过程。主要就是一系列的addView操作,这篇就从addView方法开始看看View是如何绘制到窗口上的。
ActivityThread#handleResumeActi...
分类:
移动开发 时间:
2015-03-31 09:05:07
阅读次数:
210
可以说重载onMeasure(),onLayout(),onDraw()三个函数构建了自定义View的外观形象。再加上onTouchEvent()等重载视图的行为,可以构建任何我们需要的可感知到的自定义View。本节我们探索自定义View中onMeasure()起到了什么样的作用,题外要插的一句是,...
分类:
其他好文 时间:
2015-03-13 16:08:34
阅读次数:
184
requestLayout当一个VIEW的布局属性发生了变化的时候,可以调用该方法,让父VIEW调用onmeasure 和onlayout重新定位该view的位置,需要在UI线程调用invalidate强制使view重绘,需要在UI线程调用postinvalidate作用同上,但是可以直接在子线程调...
分类:
其他好文 时间:
2015-03-07 17:06:49
阅读次数:
239
View中:
public void layout(int l,
int t, int r,
int b) {
...
onLayout
...
}
//changed 表示是否有新的位置或尺寸
protected void onLayout(boolean changed,
int left, int top,...
分类:
移动开发 时间:
2015-02-28 13:04:42
阅读次数:
172
onFinishInflate()当View中所有的子控件均被映射成xml后触发onMeasure(int, int)确定所有子元素的大小onLayout(boolean, int, int, int, int)当View分配所有的子元素的大小和位置时触发onSizeChanged(int, int...
分类:
其他好文 时间:
2015-02-26 11:26:50
阅读次数:
83
onFinishInflate()当View中所有的子控件均被映射成xml后触发onMeasure(int, int)确定所有子元素的大小onLayout(boolean, int, int, int, int)当View分配所有的子元素的大小和位置时触发onSizeChanged(int, int...
分类:
移动开发 时间:
2015-02-26 11:18:30
阅读次数:
129
重写view: View类一般用于绘图操作,重写它的onDraw方法,但它不可以包含其他组件,没有addView(View view)方法。重写viewgroup: ViewGroup是一个组件容器,它可以包含任何组件,但必须重写onLayout(boolean changed,int l,int....
分类:
移动开发 时间:
2015-02-25 16:50:45
阅读次数:
159
1、可以指定android:weightSum属性 2、使用标签来应对变化 3、使用标签延迟加载有可能不需要加载的数据 标签中可以指定inflateId属性 4、使用自定义ViewGroup,重写onMeasure、onLayout 5、使用Android的Prefere...
分类:
移动开发 时间:
2015-02-15 16:42:12
阅读次数:
180
可以说重载onMeasure(),onLayout(),onDraw()三个函数构建了自定义View的外观形象。再加上onTouchEvent()等重载视图的行为,可以构建任何我们需要的可感知到的自定义View。本节我们探索自定义View中onMeasure()起到了什么样的作用,题外要插的一句是,...
分类:
其他好文 时间:
2015-02-09 12:31:15
阅读次数:
222
转载自:http://blog.csdn.net/guolin_blog/article/details/17045157在 前面一篇文章中,我带着大家一起从源码的层面上分析了视图的绘制流程,了解了视图绘制流程中onMeasure、onLayout、onDraw这三个最 重要步骤的工作原理,那么今天...
分类:
移动开发 时间:
2015-02-04 18:32:19
阅读次数:
397