invalidate 与 requestLayout
1、不管大小变不变化,调用invalidate 只会执行onDraw绘制,调用了之后就会强制执行onDraw(),不管视 图是否发生了变化,我通过一个简单的示例试过了。
2、 调用requestLayout 会触发onMeasure重新测量,并调用布局onLayout重新布局,但不会调用 onDraw,总结就是,控件布局没有变化时,执行invalidate就可以;如果控件布局位置变化了,但显示不变,例如平移,只需调用requestLayout 就可以;如果位置变化了,显示也不一样了,那就要同时调用, 调用顺序一般是requestLayout ,然后invalidate
————————————————
版权声明:本文为优快云博主 CongPong 的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/CongPong/article/details/125891899