Android在onCreate中获取控件的宽高

在某些需求下,我们需要在onCreate的时候就获取到控件的宽高,但是如果直接用view.getWidth()或view.getHeight()会得到0.这是因为在onCreate执行的时候,控件还没有被绘制出来.

利用下面的方法可以获得控件的宽高:

 ViewTreeObserver vto = zoomImageView.getViewTreeObserver();
        vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
            @Override
            public boolean onPreDraw() {
                if (hasMeasured == false)
                {

                    int height = zoomImageView.getMeasuredHeight();
                    int width = zoomImageView.getMeasuredWidth();
                    Log.i("height",height+"");
                    Log.i("width",width+"");
                    hasMeasured = true;
                }
                return true;
            }
        });

 

作者:caobotao
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
posted @ 2015-12-12 18:04  caobotao  阅读(1191)  评论(0编辑  收藏  举报