标签:global tree OnGlobalLayoutListener ViewTreeObserver public view
/**
* A view tree observer is used to register listeners that can be notified of global
* changes in the view tree. Such global events include, but are not limited to,
* layout of the whole tree, beginning of the drawing pass, touch mode change....
*
* A ViewTreeObserver should never be instantiated by applications as it is provided
* by the views hierarchy. Refer to {@link android.view.View#getViewTreeObserver()}
* for more information.
*/
public final class ViewTreeObserver
ViewTreeObserver类用来注册各种view tree变化的监听。
/**
* Interface definition for a callback to be invoked when the global layout state
* or the visibility of views within the view tree changes.
*/
public interface OnGlobalLayoutListener {
/**
* Callback method to be invoked when the global layout state or the visibility of views
* within the view tree changes
*/
public void onGlobalLayout();
}
OnGlobalLayoutListener 接口:
当全局布局状态或视图树中视图的可见性发生更改时,将调用的回调的接口定义。
一般来说,在onCreate时我们是无法拿到View的高度和宽度的,可以听过监听这个接口来获取高度和宽度,或者做一些View的动画处理之类的。
itemsView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
itemsView.postDelayed(runnable, 10);
itemsView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
});
标签:global,tree,OnGlobalLayoutListener,ViewTreeObserver,public,view 来源: https://blog.csdn.net/weixin_39821531/article/details/88742628
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。