主要是总结一下“Anroid 开发艺术探索”中第4.4.2小节那一大段话,梳理出一个图方便自己记忆,和理解为什么需要注意这些点。
1、为什么在自定义View的onMeasure()中处理wrap_content。
这个之前的文章就已经说过了,可以看以前的问题。
2、为什么在ViewGroup中onMeasure()和onLayout()中处理padding和子元素的margin值。
在测量和布局过程中需要考虑padding值和子view的margin值,才能测量出子view的大小。在计算viewgroup剩余空间时需要考虑padding和margin。(写的啥也不是,后面看源码再补充吧)
3、为什么需要在onDraw()方法中处理padding呢?
onDraw()已经知道view的宽高,则在绘制内容时,就需要考虑padding的值。让绘制内容距离view的边框有padding的距离。这样padding属性才生效了。