Android LayoutInflater原理分析,带你一步步深入了解View(一) http://blog.csdn.net/guolin_blog/article/details/12921889
Android视图绘制流程完全解析,带你一步步深入了解View(二) http://blog.csdn.net/guolin_blog/article/details/16330267
1.widthMeasureSpec和heightMeasureSpec这两个值又是从哪里得到的呢?
通常情况下,这两个值都是由父视图经过计算后传递给子视图的,说明父视图会在一定程度上决定子视图的大小。
2.在setMeasuredDimension()方法调用之后,我们才能使用getMeasuredWidth()和getMeasuredHeight()来获取视图测量出的宽高,以此之前调用这两个方法得到的值都会是0。
3.由此可见,视图大小的控制是由父视图、布局文件、以及视图本身共同完成的,父视图会提供给子视图参考的大小,而开发人员可以在XML文件中指定视图的大小,然后视图本身会对最终的大小进行拍板。
4.首先getMeasureWidth()方法在measure()过程结束后就可以获取到了,而getWidth()方法要在layout()过程结束后才能获取到。另外,getMeasureWidth()方法中的值是通过setMeasuredDimension()方法来进行设置的,而getWidth()方法中的值则是通过视图右边的坐标减去左边的坐标计算出来的。
http://blog.csdn.net/guolin_blog/article/details/17045157 Android视图状态及重绘流程分析,带你一步步深入了解View(三)
http://blog.csdn.net/guolin_blog/article/details/17357967 Android自定义View的实现方法,带你一步步深入了解View(四)
讲了3个例子,分别是自绘控件、组合控件、以及继承控件。
Android视图绘制流程完全解析,带你一步步深入了解View(二) http://blog.csdn.net/guolin_blog/article/details/16330267
1.widthMeasureSpec和heightMeasureSpec这两个值又是从哪里得到的呢?
通常情况下,这两个值都是由父视图经过计算后传递给子视图的,说明父视图会在一定程度上决定子视图的大小。
2.在setMeasuredDimension()方法调用之后,我们才能使用getMeasuredWidth()和getMeasuredHeight()来获取视图测量出的宽高,以此之前调用这两个方法得到的值都会是0。
3.由此可见,视图大小的控制是由父视图、布局文件、以及视图本身共同完成的,父视图会提供给子视图参考的大小,而开发人员可以在XML文件中指定视图的大小,然后视图本身会对最终的大小进行拍板。
4.首先getMeasureWidth()方法在measure()过程结束后就可以获取到了,而getWidth()方法要在layout()过程结束后才能获取到。另外,getMeasureWidth()方法中的值是通过setMeasuredDimension()方法来进行设置的,而getWidth()方法中的值则是通过视图右边的坐标减去左边的坐标计算出来的。
http://blog.csdn.net/guolin_blog/article/details/17045157 Android视图状态及重绘流程分析,带你一步步深入了解View(三)
http://blog.csdn.net/guolin_blog/article/details/17357967 Android自定义View的实现方法,带你一步步深入了解View(四)
讲了3个例子,分别是自绘控件、组合控件、以及继承控件。