作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我们知道ViewTreeObserver用于注册可以通知 View 树中全局更改的监听器。这个类中定义了两个方法addOnGlobalLayoutListener(ViewTreeObserver.OnGlobalLayoutListener
监听器)和 addOnPreDrawListener(ViewTreeObserver.OnPreDrawListener 监听器)
。但是这些方法的目的对我来说并不清楚,这在开发者网站上有描述。我试图理解它并在谷歌中搜索但无法找到关于这个主题的清晰图片。任何帮助对我来说都是极少数。
最佳答案
OnPreDrawListener
在调用 onDraw() 方法之前调用。在这一点上,树中的所有 View 都已被测量并给出了一个框架。因此,您可以在此回调中正确操作 View
OnGlobalLayoutListener
这个监听器被调用:- 当可见性状态改变时。在示例中,当绘制 View 时,它变得可见并被调用。- 当你添加 View 树的 View 状态改变时
关于android - addonGlobalLayoutListener 和 addOnPreDrawListener 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32987154/
我们知道ViewTreeObserver用于注册可以通知 View 树中全局更改的监听器。这个类中定义了两个方法addOnGlobalLayoutListener(ViewTreeObserver.O
我是一名优秀的程序员,十分优秀!