详解Android getWidth和getMeasuredWidth
来源:互联网 发布:程序员的文本编辑器 编辑:程序博客网 时间:2024/06/05 16:35
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的正解
- 详解Android getWidth和getMeasuredWidth
- Android getWidth和getMeasuredWidth
- Android getWidth和getMeasuredWidth 区别
- Android getWidth和getMeasuredWidth 区别
- Android getWidth和getMeasuredWidth 区别
- Android getWidth和getMeasuredWidth 区别
- 详解getWidth和getMeasuredWidth为什么是0
- Android中getWidth和getMeasuredWidth的区别
- Android getWidth和getMeasuredWidth的正解
- Android getWidth和getMeasuredWidth的正解
- Android getWidth和getMeasuredWidth的正解
- Android getWidth和getMeasuredWidth的正解
- Android getWidth和getMeasuredWidth的正解
- Android getWidth和getMeasuredWidth 及 layout_weight
- Android getWidth和getMeasuredWidth的正解
- Android getWidth和getMeasuredWidth的正解
- Android getWidth和getMeasuredWidth的正解
- Android getWidth和getMeasuredWidth的正解
- spring 同时配置hibernate and jdbc 事务
- scrollLeft,scrollWidth,clientWidth,offsetWidth到底指的哪到哪的距离
- struts2.3.1.2知识点(三)标签和ognl
- App成长记第三期:iApp4Me的新逻辑
- 在Android系统中修改Android.mk使其同时编译rgb2565和rgb2888(向out/host/linux-x86/bin/下新增加一个工具命令)
- 详解Android getWidth和getMeasuredWidth
- Git、Gerrit与Jenkins/Hudson CI服务器
- Objective- c 分类 与 扩展
- 常用链接整理 (样式)
- 苹果禁用UDID再续:OpenUDID有望成为替代方案
- AndroidManifest.xml设置程序安装的路径
- Android app中加载jar插件
- 给出二叉树的先序和中序遍历,递归求解后序遍历
- Linux study Note