1.Android view中的requestLayout和invalidate方法 requestLayout:当view确定自身已经不再适合现有的区域时,该view本身调用这个方法要求parent view重新调用他的onMeasure onLayout来对重新设置自己位置。特别的当view的l...
分类:
其他好文 时间:
2015-01-29 23:53:30
阅读次数:
146
通过重写ViewGroup学习onMeasure()和onLayout()方法Android的onMeasure和onLayout And MeasureSpec揭秘
分类:
移动开发 时间:
2015-01-28 12:54:22
阅读次数:
132
我们都知道,在Activity的onCreate()方法中调用View的getWidth()和getHeight()方法时,返回的值都是0,因为Activity调用setContentView方法只是创建了这个View,调用了这个View构造方法而已,其中的onMeasure()方法还没被调用,所以不能知道它的宽高。但是,View有一个公开的方法post(),允许我们通过参数Runnable,在子...
分类:
其他好文 时间:
2015-01-27 16:20:56
阅读次数:
123
转:http://blog.sina.com.cn/s/blog_74bd788f0101axnc.html在Android中view如何完成绘制这个过程介绍了很多,但是很多理论化的东西,最近重新整理一下,通俗的讲解一下。View绘制过程就好比你向银行贷款,在执行onMeasure的时候,好比银行告...
分类:
移动开发 时间:
2015-01-24 20:01:44
阅读次数:
265
自定义组件ViewGroup深入理解
有前几张环节可以看出来:
自定义组件的测量过程和绘制过程想弄懂并不是那么的容易。
接下里我就仔细给大家来讲一下
测量过程-:onMeasure()以及 布局过程:onLayout()...
分类:
其他好文 时间:
2015-01-22 15:32:53
阅读次数:
260
在继承ViewGroup类时,需要重写两个方法,分别是onMeasure和onLayout。
1,在方法onMeasure中调用setMeasuredDimension方法void android.view.View.setMeasuredDimension(int measuredWidth, int measuredHeight)
在onMeasure(int, int)中,必须调用s...
分类:
其他好文 时间:
2015-01-20 20:33:27
阅读次数:
211
onFinishInflate()函数的调用时机:
onFinishInflate() 当View中所有的子控件均被映射成xml后触发
onMeasure(int, int) 确定所有子元素的大小
onLayout(boolean, int, int, int, int) 当View分配所有的子元素的大小和位置时触发
...
分类:
其他好文 时间:
2015-01-20 17:59:06
阅读次数:
187
一.View结构原理Android系统对视图结构的设计采用了组合模式,即View作为所有图形的基类,ViewGoup对View进行扩展为视图容器类。View定义了绘图的基本操作:measure(),layout(),draw()。其内部又分别包含了onMeasure(),onLayout(),onDraw()三个子方法。1.measure操作用于计算视..
分类:
其他好文 时间:
2015-01-20 12:14:36
阅读次数:
176
最近在做一个项目,有一个需求是在ScrollView中内嵌一个GridView。 刚开始,我是以为能直接内嵌在里面: 1 5 15 16 > 2, MeasureSpec.AT_MOST);15 super.onMeasure(widthMe...
分类:
移动开发 时间:
2015-01-17 23:28:22
阅读次数:
343
activity中加载系统自带的ExpandableListView;自定义一个CustomExpandableListView作为ExpandableListView的子Item;CustomExpandableListView中重写onMeasure()方法:protectedvoidonMeasure(intwidthMeasureSpec,intheightMeasureSpec){ intexpandSpec=MeasureSpec.makeMea..
分类:
移动开发 时间:
2015-01-13 19:59:43
阅读次数:
170