当我们使用setLayoutParams
修改控件尺寸时,要注意控件内部的子View不一定会被回调onMeasure
。所以会存在设置控件尺寸后,内部的子View尺寸没有被改变的情况。
具体原因看源码,setLayoutParams
内部会回调requestLayout()
,最终会触发父布局层层回调子View的onMeasure
,但是在此之前会先判断子View的布局是否有被修改,因此可能会导致子View没有重新计算自己的尺寸。
当我们使用setLayoutParams
修改控件尺寸时,要注意控件内部的子View不一定会被回调onMeasure
。所以会存在设置控件尺寸后,内部的子View尺寸没有被改变的情况。
具体原因看源码,setLayoutParams
内部会回调requestLayout()
,最终会触发父布局层层回调子View的onMeasure
,但是在此之前会先判断子View的布局是否有被修改,因此可能会导致子View没有重新计算自己的尺寸。
Update your browser to view this website correctly. Update my browser now
评论