onSizeChange 和onMeasure方法的区别
发布网友
发布时间:2022-05-29 14:52
我来回答
共1个回答
热心网友
时间:2023-10-21 23:56
经常看见有人在onSizeChanged 和ONMeasure两个方法中进行空间宽高获取,一直不明白有什么区别,看了看源码,发现,如果只是获取宽高,好像区别不大
onMeasure 最终是设置了一个标志位,设置measureWidth,height,
onSizechanged是个空方法,但是,只要改变了大小就会调用它,例如在settop,setleft等方法都会调用
不过settop应该是设置位置,而不是大小,下次写个例子试试
layout() -> onMeasure() -> setFrame() -> sizeChange() -> onSizeChanged() -> onLayout() -> 遍历执行 OnLayoutChangeListener.onLayoutChange()