您的位置:首页 > 移动开发 > Android开发

获取到Android控件的高度

2016-06-28 13:45 344 查看
1.自己来测量

int w = View.MeasureSpec.makeMeasureSpec(0,  

                View.MeasureSpec.UNSPECIFIED);  

        int h = View.MeasureSpec.makeMeasureSpec(0,  

                View.MeasureSpec.UNSPECIFIED);  

        imageView.measure(w, h);  

        int height = imageView.getMeasuredHeight();  

        int width = imageView.getMeasuredWidth();

2.监听绘图

ViewTreeObserver vto = imageView.getViewTreeObserver();   

        vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {   

            public boolean onPreDraw() {   

                vto.removeOnPreDrawListener(this);  

                int height = imageView.getMeasuredHeight();   

                int width = imageView.getMeasuredWidth();   

                return true;   

            }   

        });

3.全局的布局改变监听器

ViewTreeObserver vto = imageView.getViewTreeObserver();     

        vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {   

            @Override     

            public void onGlobalLayout() {   

                imageView.getViewTreeObserver().removeGlobalOnLayoutListener(this);   

                imageView.getHeight();  

                imageView.getWidth();  

            }     

        });
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: