Android getMeasuredHeight()与getHeight()的区别

本文解释了Android中getMeasuredHeight()与getHeight()方法的区别。getMeasuredHeight()返回视图的原始测量高度,而getHeight()返回视图在屏幕上的实际高度。当视图超出屏幕时,两者的差值即为未显示的部分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

getMeasuredHeight()返回的是原始测量高度,与屏幕无关,getHeight()返回的是在屏幕上显示的高度。实际上在当屏幕可以包裹内容的时候,他们的值是相等的,只有当view超出屏幕后,才能看出他们的区别。当超出屏幕后,getMeasuredHeight()等于getHeight()加上屏幕之外没有显示的高度。

例:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="240dip"
  android:clipToPadding="false"
  android:scrollY="50dip" >

</RelativeLayout>

这里设置它的高度为240dip,超出屏幕50dip。

getMeasuredHeight()获得的就是240dip的大小。(转换为像素值)

getHeight()获得的是240dip - 50dip的大小。(转换为像素值)