Android getMeasuredHeight()与getHeight()的区别

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

Android getMeasuredHeight()与getHeight()的区别,布布扣,bubuko.com

时间: 2024-10-06 00:43:24

Android getMeasuredHeight()与getHeight()的区别的相关文章

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 

getMeasuredHeight(),getScrollY(),getHeight()的区别

先说getMeasuredHeight()和getHeight(),这两个方法都是获取组件高度的,在普通布局中,如果组件本身没有超过手机屏幕,那么这两个方法获取的组件高度相等:但是如果在像ScrollView这种滑动布局中,组件往往会超出屏幕,那么getHeight()获取的高度就是屏幕显示的高度,不确切的说就是屏幕高度,而getMeasuredHeight()获取的是这个组件实际大小,包括显示的部分和超出屏幕的部分. getScrollY()表示ScrollView滑动的距离.开始滑动时获取的

getMeasuredHeight()与getHeight的区别

html, body { font-size: 15px; } body { font-family: Helvetica, "Hiragino Sans GB", 微软雅黑, "Microsoft YaHei UI", SimSun, SimHei, arial, sans-serif; line-height: 1.6; color: ; background-color: ; margin: 0; padding: 16px 20px; } h1, h2, h

android 适配器simpleadapter和baseadapter区别

android 适配器 simpleadapter 和 baseadapter 设计网络程序或者数据处理显示程序的时候,常常会使用 simpleadapter 和baseadapter 来实现. adapter 是适配器模式,是数据和界面之间的桥梁.baseadapter 是一个抽象的类,要使用必需为其定义子类并实现相关方法.simpleadapter 派生于 baseadapter ,已经实现了相关的方法,所以可以直接使用.二者在使用效果上没有太大的区别,两者可以设计出几乎一模一样的界面.但在

java的String和android的String有什么区别?

这是今天阿里电话面试被问到的,在之前确实没有想过(一直以为是一样的),于是面试完之后,我马上打开了源码,对这两个String类进行了比较,下面是我的发现. 首先我观察了这两个String类所导入的包,发现两者有些差异: 这是android版本: import java.io.Serializable; import java.io.UnsupportedEncodingException; import java.nio.ByteBuffer; import java.nio.CharBuffe

Android Message和obtainMessage的区别

前几天需要实现一个以太网功能就看了以太网的源码部分,看见了源码部分在消息处理时,发现有一些不同的地方: 平时我在处理消息时: 1.首先创建Handler对象: private Handler handler = new Handler(){ public void handleMessage(Message msg) { switch (msg.what) { case 0: break; default: break; } }; }; 2.然后是消息处理: private void TestH

Android中@id与@+id区别

近日升级adt21+后,在输出apk时碰到编译layout异常,看了下是因为有人在layout引用一个不存在的resID时用了 @+id/xxx,而不是@id/xxx,导致debug编译器没显示错误,而在打包时的编译器出现错误,adt21-则没有此问题. 附上配图说明: Android中@id与@+id区别 : Android中的组件需要用一个int类型的值来表示,这个值也就是组件标签中的id属性值. id属性只能接受资源类型的值,也就是必须以@开头的值,例如,@id/abc.@+id/xyz等

Android - match_parent 和 fill_parent的区别

Android - match_parent 和 fill_parent的区别 本文地址: http://blog.csdn.net/caroline_wendy match_parent 和 fill_parent的用法相同, 其实是完全一样的. API版本不同,推荐使用match_parent(API Level 8+).

Xamarin.Form与Xamarin.Android或Xamarin.IOS的区别简述

原文:Xamarin.Form与Xamarin.Android或Xamarin.IOS的区别简述 Xamarin.Form与Xamarin.Android或Xamarin.IOS的区别简述: 可能刚刚接触Xamarin的人来说,对于这个概念比较的模糊,认为这说的不都是同一个东西吗?事实并不是这样的,我们先来说说Xamarin.Android和Xamarin.IOS吧,这两个其实就是一个单独的工程,在这里面我们可以针对安卓或者IOS进行代码的编写,而且支持原生的代码调用,这对于安卓或者IOS的开发