您的位置:首页 > 移动开发 > Android开发

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方法

有问题请留言。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: