我们都知道组件的只有绘制完成以后才能获取到组件的大小,以及位置等信息,所以在onCreate方法中是获取不到组件的这些信息的,所以我们可以在onResume方法中获取到组件的信息
但是有时候我们直接调用自定义View中的方法来获取View的数据,这个时候我们可以通过如下代码获取组件的信息:
final ViewTreeObserver vto = ll_tab.getViewTreeObserver();
vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener(){
public boolean onPreDraw(){
ll_tab.getViewTreeObserver().removeOnPreDrawListener(this);
//在这里view已经绘制完成了,我们就可以获取view的信息了
return true;
}
});
ViewTreeObserver详情