Android View中getWidth方法

来源:互联网 发布:德云社家谱知乎 编辑:程序博客网 时间:2024/06/09 19:32

这是一个让我生气的方法,遇到这个方法的时候,最开始为了省事,就去网上搜了下

不少答案说,只有在onDraw中调用这个方法才可以得到这个View正确的大小,之前的方法只能得到0

我想了想不对啊,onMeasure不是测量View大小的么,它应该可以得到正确的值,用Log试了下

结果如图:


onMeasure最后还是可以得到正确值的,因为这个方法会被调用多次,所以在这里调用getWidth方法不稳定


但是网上说不能,不是侮辱我的眼睛么 !!


俗话说纸上得来终觉浅,欲知此事需躬行,以后网上只信一半。


接着说getWidth方法,API源码:


需要注意的是,这个方法返回的是View所占的px(虚拟像素)值


那我们该在哪里去调用这个getWidth方法呢,答案是onSizeChanged方法,它在onMeasure确定width之后之后才去调用


那如果我们一定要在onMeasure中获得View 的width,可以用getMeasureWidth方法


有问题请留言。。


1 0
原创粉丝点击