在学习自定义view的时候,发现某些demo在更新页面时,使用的是view.requestLayout,而不是view.invalidate()。invalidate这个方法,我们常用它来进行 view重绘。可是这个requestLayout是什么呢。上网查了一圈。这里做一个记录。
当view确定自身已经不再适合现有的区域时,该view本身调用这个方法要求parent view(父类的视图)重新调用他的onMeasure onLayout来重新设置自己位置。特别是当view的layoutparameter发生改变,并且它的值还没能应用到view上时,这时候适合调用这个方法。
本文解释了Android中view请求布局更新的方法requestLayout的作用及其与invalidate的区别。requestLayout用于通知父视图重新调用子视图的onMeasure和onLayout方法以调整其位置,尤其适用于视图参数变化但尚未反映到视图上的情况。
6万+

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



