Android getWidth和getMeasuredWidth
2016-03-21 11:28
411 查看
1. 在一个类初始化时,即在构造函数当中我们是得不到View的实际大小的。感兴趣的朋友可以试一下,getWidth()和getMeasuredWidth()得到的结果都是0.但是我们可以从onDraw()方法里面的到控件的大小。
2.这两个所得到的结果的单位是像素即pixel。
getWidth(): 得到的是view在父Layout中布局好后的宽度值,如果没有父布局,那么默认的父布局就是整个屏幕。
getMeasuredWidth():先看一下API里面是怎么说的。
The width of this view as measured in the most recent call to measure(). This should be used during measurement and layout calculations only.
得到的是最近一次调用measure()方法测量后得到的是View的宽度,它仅仅用在测量和Layout的计算中。所以此方法得到的是View的内容占据的实际宽度。
总结(正解):
getWidth(): View在设定好布局后整个View的宽度。
getMeasuredWidth(): 对View上的内容进行测量后得到的View内容占据的宽度,前提是你必须在父布局的onLayout()方法或者此View的onDraw()方法里调用measure(0,0);(measure中的参数的值你自己可以定义),否则你得到的结果和getWidth()得到的结果是一样的。
转自:http://blog.csdn.net/wangbofei/article/details/7795430
2.这两个所得到的结果的单位是像素即pixel。
getWidth(): 得到的是view在父Layout中布局好后的宽度值,如果没有父布局,那么默认的父布局就是整个屏幕。
getMeasuredWidth():先看一下API里面是怎么说的。
The width of this view as measured in the most recent call to measure(). This should be used during measurement and layout calculations only.
得到的是最近一次调用measure()方法测量后得到的是View的宽度,它仅仅用在测量和Layout的计算中。所以此方法得到的是View的内容占据的实际宽度。
总结(正解):
getWidth(): View在设定好布局后整个View的宽度。
getMeasuredWidth(): 对View上的内容进行测量后得到的View内容占据的宽度,前提是你必须在父布局的onLayout()方法或者此View的onDraw()方法里调用measure(0,0);(measure中的参数的值你自己可以定义),否则你得到的结果和getWidth()得到的结果是一样的。
转自:http://blog.csdn.net/wangbofei/article/details/7795430
相关文章推荐
- Android的设计模式
- Android--使用XMLPull解析xml
- Android Dalvik虚拟机初识
- Android多种View动画:EasyAndroidAnimations
- Android 总结
- 关于Android开发中Arm、X86和Mips(草稿)
- Android Studio使用总结
- Android下使用正则表达式
- 解决android 单击事件和移动事件的冲突
- Android生成随机数
- Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果
- Android中时间处理类
- [IMX6Q][Android5.1]移植笔记 --- Kernel启动无法挂载文件系统
- Android自定义状态栏通知(Status Notification)的正确实现
- 给 Android 开发者的 RxJava 详解
- [Android Studio] FloatingActionButton could not be instantiated
- Android之jni入门
- Android ExpandableListView
- Android GradientDrawable类的详解,设置activity的背景颜色渐变效果
- Android中加载Gif动画图片