ViewTreeObserver视图树观察者

ViewTreeObserver,视图树的观察者,该类是用来监听视图树的,当视图树发生某些改变时,会通知该类中的某些接口。该类中包含多个监听不同事件变化的接口,通过覆写接口中的方法,以在视图树发生改变时做些事件。

ViewTreeObserver是不能实例化的,要通过视图获取,通过View.getViewTreeObserver()获取的。

举例应用:

//onGlobalLayoutListener作为ViewTreeObserver的内部接口之一,当在一个视图树中全局布局发生改变
    // 或者视图树中某个视图的可视状态发生改变时回调该接口
    private final ViewTreeObserver.OnGlobalLayoutListener layoutListener=new ViewTreeObserver.OnGlobalLayoutListener() {
        @Override
        public void onGlobalLayout() {
            //do somethings
        }
    };



//调用
view.getViewTreeObserver().addOnGlobalLayoutListener(layoutListener);

参考: ViewTreeObserver解析

原文地址:https://www.cnblogs.com/feng-ye/p/6509898.html