
1 直接继承View的自定义控件需要重写onMeasure方法并且设置wrap_content时的自身大小,否者在布局中使用wrap_content就相当于使用math_parent,具体原因上面已经说明。
2 在自定义View时可以通过重写onMeasure方法自己设置设置View测量大小,抛弃了父容器通过measure方法传进来建议测量值MeasureSpec,直接通过setMeasuredDimension(width, height)设置
3 测量模式为 UNSPECIFIED 时, 才会选用 getSuggestedMinimumWidth() 测量的值
伪代码

4: 源码跟踪
4.1 首先View的measure函数






本文深入探讨自定义View的测量机制,解析直接继承View时重写onMeasure方法的重要性,尤其是在使用wrap_content时如何避免其行为等同于match_parent。文章还介绍了如何通过重写onMeasure方法来自定义View的测量大小,并解释了测量模式为UNSPECIFIED时如何使用getSuggestedMinimumWidth()进行测量。
640

被折叠的 条评论
为什么被折叠?



