关于View的measure,layout方法
2017-08-10 本文已影响0人
铜角大王
measure是一个final类型的方法,内部调用了onMeasure方法,View对onMeasure做了统一的实现,但是ViewGroup没有重写View的onMeasure方法,因为ViewGroup的子类有不同的布局特性,这导致它们的测量细节各不相同,所以ViewGroup无法做统一实现。
layout方法用来确定View本身的位置,而onLayout方法则会确定所有子元素的位置,因为onLayout方法的具体实现和具体的布局相关,所以View跟ViewGroup均没有真正实现onLayout方法。layout方法中会调用onLayout方法。
总结:View实现了onMeasure方法,但是ViewGroup没有重写该方法。
View跟ViewGroup均没有真正实现onLayout方法,但是ViewGroup仅仅把onLayout重写成了一个抽象方法。