view getMeasuredHeight getHeight区别

这个知识点老是容易忘记,还是 动手记下来吧。

官网链接

这里写图片描述

通过上面的描述

getMeasuredHeight是用来判断布局信息的时候使用到的,onLayout中使用。而getHeight是在onDraw中使用。

通过这两点就可以得出区别

按照通常的说法就是,getMeasuredHeight得到的是view的实际高度,而getHeight得到的是view的显示高度(最大也就是屏幕高度)。

我们可以通过onLayoutonDraw来佐证这个观点。

既然是onLayout,那么影响的必然是布局,如果有一个两个view分别为view1,view2。

view2显示在view1的下方。那么在布局onLayout的时候 view2位置必然是要算上view1的高度的,所以这个高度应该是“稳定”的,不会因为用户滑动屏幕而出现变化的。
—》getMeasuredHeight是控件的实际高度,与屏幕无关。

而onDraw则是在view绘画的时候使用的。 getHeight既然是在绘画的时候调用,那么必然是显示多少绘画多少,所以这个高度会随着view在屏幕的显示情况来onDraw,所以getHeight是随着view在屏幕的显示而不同的。
—》getHeight得到的是view的显示高度,跟view在屏幕的显示情况有关。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值