安卓获取控件尺寸为0的解决办法

在onCreate()方法下调用view的getWidth()方法获取的控件宽度始终为0。正确获取控件尺寸的方法应该是设置一个全局监听,在全局监听中获取控件的尺寸,具体代码如下:

view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                //先移除之前的监听
                view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
                //获取控件宽度
                int viewWidth = view.getWidth();
                //获取控件高度
                int viewHeight = view.getHeight();
                //下面你就可以拿着控件的尺寸为所欲为了
            }
        });

问题不大,记录一下。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容