效果图: 源码下载:http://download.csdn.net/detail/centralperk/5142933 关于ViewGroup的一点剖析: 这里有个当地要注意,那就要了解ViewGroup的绘图流程:ViewGroup制造包括两个进程:1.measure 2.layout 在两个进程中分别调用回调函数:1.onMeasure() 2.onLayout() http://www.fpshamen.com/linked/20130314.do 1.onMeasure() 在这个函数中,ViewGroup会接受childView的央求的大小,然后通过childView的 measure(newWidthMeasureSpec, heightMeasureSpec)函数存储到childView中,以便childView的getMeasuredWidth() andgetMeasuredHeight() 的值可以被后续作业得到。 2.onLayout() 在这个函数中,ViewGroup会拿到childView的getMeasuredWidth() andgetMeasuredHeight(),用来计划一切的childView。 3.View.MeasureSpec 与 LayoutParams 这两个类,是ViewGroup与childView洽谈大小用的。其间,View.MeasureSpec是ViewGroup用来安置 childView用的, LayoutParams是childView告诉ViewGroup 我需要多大的当地。 4.在View 的onMeasure的结尾要调用setMeasuredDimension()这个方法存储View的大小,这个方法抉择了其时View的大小。 http://www.kp1111.info/linked/20130314.do
转载于:https://www.cnblogs.com/fpqqchao/archive/2013/03/15/2960687.html