Android View中getWidth方法
2016-03-05 00:27
330 查看
这是一个让我生气的方法,遇到这个方法的时候,最开始为了省事,就去网上搜了下
不少答案说,只有在onDraw中调用这个方法才可以得到这个View正确的大小,之前的方法只能得到0
我想了想不对啊,onMeasure不是测量View大小的么,它应该可以得到正确的值,用Log试了下
结果如图:
onMeasure最后还是可以得到正确值的,因为这个方法会被调用多次,所以在这里调用getWidth方法不稳定
但是网上说不能,不是侮辱我的眼睛么 !!
俗话说纸上得来终觉浅,欲知此事需躬行,以后网上只信一半。
接着说getWidth方法,API源码:
需要注意的是,这个方法返回的是View所占的px(虚拟像素)值
那我们该在哪里去调用这个getWidth方法呢,答案是onSizeChanged方法,它在onMeasure确定width之后之后才去调用
那如果我们一定要在onMeasure中获得View 的width,可以用getMeasureWidth方法
有问题请留言。。
不少答案说,只有在onDraw中调用这个方法才可以得到这个View正确的大小,之前的方法只能得到0
我想了想不对啊,onMeasure不是测量View大小的么,它应该可以得到正确的值,用Log试了下
结果如图:
onMeasure最后还是可以得到正确值的,因为这个方法会被调用多次,所以在这里调用getWidth方法不稳定
但是网上说不能,不是侮辱我的眼睛么 !!
俗话说纸上得来终觉浅,欲知此事需躬行,以后网上只信一半。
接着说getWidth方法,API源码:
需要注意的是,这个方法返回的是View所占的px(虚拟像素)值
那我们该在哪里去调用这个getWidth方法呢,答案是onSizeChanged方法,它在onMeasure确定width之后之后才去调用
那如果我们一定要在onMeasure中获得View 的width,可以用getMeasureWidth方法
有问题请留言。。
相关文章推荐
- android设计模式之---状态模式
- Android开发60需要注意的问题
- Android下设置drawableleft导入的图片大小
- Android Studio中如何创建自己的库?
- 2016-3-4
- Gradle
- android 注解 butterknife 用法
- Android开发中iconify的使用
- Android优化杂谈
- Android ListView滚动条配置完全解析
- android设计模式之---最佳单例模式==静态内部类单例模式
- Android Studio——签名打包
- Android 使用Fragment界面向下跳转并一级级返回
- Android Studio 中Locat使用包名过滤无法显示的问题
- Android性能优化——渲染、内存、电源优化
- System Permissions --1.4
- android开发JNI之高级篇
- Android环境搭建
- [android] 采用pull解析xml文件
- Android开发之蓝牙详解(三)