自适应布局下获取控件高度
问题
测试发现,自适应的布局(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();
}
});