Android getWidth和getMeasuredWidth 区别
2016-04-21 14:30
423 查看
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从零开发目录
- Android 里面的小坑
- Android RecyclerView 使用解析
- 自动输入文本效果—AutoCompleteTextView
- PC与Android设备通过USB建立通信连接
- Android多媒体之view,SurfaceView,GLSurfaceView
- Android多媒体技术之视频播放
- Android多媒体技术之音频播放
- android studio 代码混淆如何忽略第三方jar包
- android布局之重心Gravity
- Android异步消息处理机制
- 韩国 TmaxSoft 发布操作系统挑战微软,兼容 Android 和 iOS
- 由UI刷新谈到线程安全和Android单线程模型
- android 进程优先级
- 读《包建强:为什么我说Android插件化从入门到放弃》感悟
- android_关于Activity生命周期设计交互的几个问题
- Android应用开发 推送理解析极光推送使用详解
- Android DatePicker与TimePicker 日期时间弹出工具类
- Android fragment
- Android_实用技术(2)—— AsyncTask 使用方法