getMeasuredHeight() 与 getHeight() 的区别

Posted webglcn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了getMeasuredHeight() 与 getHeight() 的区别相关的知识,希望对你有一定的参考价值。

http://www.cnblogs.com/x-dev/p/3767538.html?utm_source=tuicool&utm_medium=referral

public final int getMeasuredHeight ()

Added in API level 1

Like getMeasuredHeightAndState(), but only returns the raw width component (that is the result is masked by MEASURED_SIZE_MASK).

Returns
  • The raw measured height of this view.

public final int getHeight ()

Added in API level 1

Return the height of your view.

Returns
  • The height of your view, in pixels.

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的大小。(转换为像素值)

以上是关于getMeasuredHeight() 与 getHeight() 的区别的主要内容,如果未能解决你的问题,请参考以下文章

getMeasuredHeight和getHeight有什么区别

Android获取view高度

getMeasuredHeight 和 getHeight 有啥区别

Android getMeasuredHeight 返回错误值!

getMeasuredHeight() 是不是以像素或 dp 为单位返回值

如何在 NativeScript 布局中查找/查看视图的尺寸?