invalidate与requestLayout区别

简单来说

view调用invalidate将导致当前view的重绘(draw调用),view的父类将不会执行draw方法;viewGroup调用invalidate会使viewGroup的子view调用draw,也就是viewGroup内部的子view进行重绘;

而requestLayout方法只会导致当前view的measure和layout,而draw不一定被执行,只有当view的位置发生改变才会执行draw方法,因此如果要使当前view重绘需要调用invalidate

源码分析参考:https://blog.csdn.net/litefish/article/details/52859300

猜你喜欢

转载自blog.csdn.net/liangtianmeng/article/details/82190826
今日推荐