手动调用View.measure(0, 0)方法是否有效

来源:互联网 发布:泰坦尼克号 知乎 编辑:程序博客网 时间:2024/05/20 19:31

背景

在最新的一个需求开发中,我想通过getMeasureWidth( )方法获取一个View的measureWidth,但由于View还未进行Measure操作,所以getMeasureWidth( )最终会返回0。所以我想到了一个解决方案就是先手动调用执行一遍View.measure(0, 0),触发对View的测量操作,然后再通过getMeasureWidth( )方法获取measureWidth。但是这种方案对一些View能正确的获取到大小值,但对于别的View就无法获取正确的值。对于这个问题我们来分析一下什么情况下可以正确获取,什么情况下又无法获取。