为了账号安全,请及时绑定邮箱和手机立即绑定

invalidate和requestLayout的区别及使用

invalidate和requestLayout的区别及使用

英明神武的牛 2018-04-14 23:40:13
invalidate和requestLayout的区别及使用
查看完整描述

1 回答

?
小乔要努力变强

TA贡献1条经验 获得超2个赞

找了一个回答给你:

1、不管大小变不变化,调用invalidate 只会执行onDraw绘制,调用了之后就会强制执行onDraw(),不管视图是否发生了变化,我通过一个简单的示例试过了。

2、调用requestLayout 会触发onMeasure重新测量,并调用布局onLayout重新布局,但不会调用onDraw,总结就是,控件布局没有变化时,执行invalidate就可以;如果控件布局位置变化了,但显示不变,例如平移,只需调用requestLayout 就可以;如果位置变化了,显示也不一样了,那就要同时调用,调用顺序一般是requestLayout ,然后invalidate


查看完整回答
2 反对 回复 2018-07-31
  • 1 回答
  • 0 关注
  • 2864 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信