自适应布局下获取控件高度

问题

测试发现,自适应的布局(weight控制比例)下,在OnCreate等各种时机获取到的控件SIZE为0。

何时以及如何获取到控件SIZE。

 

解决

通过全局的布局改变监听器来实现。

ViewTreeObserver vto = aView.getViewTreeObserver();  
        vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
            @Override  
            public void onGlobalLayout() {
                aView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
                aView.getHeight();
                aView.getWidth();
               //aView.invalidate();
            }  
        });
posted @ 2016-07-29 14:31  mlrs  阅读(255)  评论(0编辑  收藏  举报