我们知道ViewTreeObserver用于注册可以在视图树中通知全局更改的侦听器。这个类中定义了两种方法
addOnGlobalLayoutListener(ViewTreeObserver.OnGlobalLayoutListener
听众)和addOnPreDrawListener(ViewTreeObserver.OnPreDrawListener listener)
。但是在开发者网站中描述的这些方法的目的并不清楚。我试图理解它,并在谷歌搜索,但无法找到关于这个主题的清晰图片。对我来说,任何帮助都非常小。
答案 0 :(得分:7)
OnPreDrawListener
在调用onDraw()方法之前调用。此时,树中的所有视图都已经过测量并给出了一个框架。因此,您可以正确操作此回调中的视图
OnGlobalLayoutListener
此侦听器被调用: - 当可见性状态发生变化时在示例中,当绘制视图时,它变得可见,并且会调用它。 - 当你添加View视图树的变化时