Google文档的英文说明:

getWidth():

Return the width of the your view.

Returns: the width of your view, in pixels

getMeasuredWidth():

The width of this view as measured in the most recent call to measure(). This should be used during measurement and layout calculations only. Use getWidth() to see how wide a view is after layout.

Returns: the measured width of this view

前提知识点:

1. 在一个类初始化时,即在构造函数当中是得不到View的实际大小的(这个我测试过,的确)。大家可以试试,getWidth()和getMeasuredWidth()得到的结果都是0,但是可以从onDraw()方法或者dispatchDraw()方法里面获得。可以通过调用invalidate()来执行onDraw()和dispatchDraw()方法。

2. 这两个方法所得到的结果的单位是像素即pixel

正确的理解:

getWidth(): View在设定好布局后,整个View的宽度

getMeasuredWidth():对View上的内容进行测量后得到的View内容占据的宽度。前提是你必须在父布局的onLayout()方法或者此View的onDraw()方法里调用measure(0,0);(measure参数的值可以知己定义),否则得到的结果和getWidth()得到的结果是一样的。

这两个方法最主要的区别在于,是否使用了measure()方法,同时measure()使用的位置也很重要。

getHeight() 和 get MeasuredHeight() 区别同理。

参考: 【原】Android getWidth和getMeasuredWidth的正解

更多相关文章

  1. android的布局属性中padding和margin的区别
  2. android:注册时的协议---》方法一:弹出框
  3. android获取屏幕宽高的两种方法
  4. 『ANDROID』Android中的onWindowFocusChanged()方法详解
  5. android FlexboxLayout可伸缩布局
  6. Java如何操作Android的adb shell 之 我自己在程序中的使用方法
  7. Android 改变View位置 setLeft、etRight、setTop、setBottom等在
  8. android:程序中安装APK方法
  9. 关于android Http访问,上传,用了三个方法

随机推荐

  1. Android工具箱之组织你的代码文件
  2. android:layout_gravity 和 android:grav
  3. Android(安卓)常用技术总览
  4. 2011年,Android星光不再闪烁
  5. Android(安卓)应用程序基础知识(1)
  6. Android热更新实现原理
  7. 详解Android主流框架不可或缺的基石
  8. Android(安卓)面试必备 - 系统、App、Act
  9. Linux/Android——input系统之 kernel层
  10. Android音频简介