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
出处: http://www.cnblogs.com/caobotao/p/5041586.html
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。

转载于:https://www.cnblogs.com/caobotao/p/5041586.html

你可能感兴趣的:(Android在onCreate中获取控件的宽高)