ViewTreeObserver,视图树的观察者,该类是用来监听视图树的,当视图树发生某些改变时,会通知该类中的某些接口。该类中包含多个监听不同事件变化的接口,通过覆写接口中的方法,以在视图树发生改变时做些事件。
ViewTreeObserver是不能实例化的,要通过视图获取,通过View.getViewTreeObserver()获取的。
举例应用:
//onGlobalLayoutListener作为ViewTreeObserver的内部接口之一,当在一个视图树中全局布局发生改变
// 或者视图树中某个视图的可视状态发生改变时回调该接口
private final ViewTreeObserver.OnGlobalLayoutListener layoutListener=new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
//do somethings
}
};
//调用
view.getViewTreeObserver().addOnGlobalLayoutListener(layoutListener);