ViewTreeObserver
public final class ViewTreeObserver
extends Object
视图树观察器用于注册可以在视图树中通知全局更改的侦听器。 这样的全局事件包括但不限于整个树的布局,绘制过程的开始,触摸模式的变化...... ViewTreeObserver不应该由应用程序实例化,因为它是由视图层次结构提供的。 有关更多信息,请参阅getViewTreeObserver()
。
Summary
Public methods
addOnDrawListener
void addOnDrawListener (ViewTreeObserver.OnDrawListener listener)
注册一个回调,当即将绘制视图树时被调用。
注意:此方法 不能从 onDraw()
调用。
Parameters |
listener |
ViewTreeObserver.OnDrawListener : The callback to add |
addOnGlobalFocusChangeListener
void addOnGlobalFocusChangeListener (ViewTreeObserver.OnGlobalFocusChangeListener listener)
注册一个回调,当视图树中的焦点状态改变时被调用。
Parameters |
listener |
ViewTreeObserver.OnGlobalFocusChangeListener : The callback to add |
addOnGlobalLayoutListener
void addOnGlobalLayoutListener (ViewTreeObserver.OnGlobalLayoutListener listener)
当全局布局状态或视图树中的视图可见性发生更改时,注册要调用的回调
Parameters |
listener |
ViewTreeObserver.OnGlobalLayoutListener : The callback to add |
addOnPreDrawListener
void addOnPreDrawListener (ViewTreeObserver.OnPreDrawListener listener)
注册一个回调,当即将绘制视图树时被调用
Parameters |
listener |
ViewTreeObserver.OnPreDrawListener : The callback to add |
addOnScrollChangedListener
void addOnScrollChangedListener (ViewTreeObserver.OnScrollChangedListener listener)
注册一个回调,当一个视图被滚动时被调用。
Parameters |
listener |
ViewTreeObserver.OnScrollChangedListener : The callback to add |
addOnTouchModeChangeListener
void addOnTouchModeChangeListener (ViewTreeObserver.OnTouchModeChangeListener listener)
注册一个回调,当触摸模式改变时调用。
Parameters |
listener |
ViewTreeObserver.OnTouchModeChangeListener : The callback to add |
addOnWindowAttachListener
void addOnWindowAttachListener (ViewTreeObserver.OnWindowAttachListener listener)
将视图层次结构附加到窗口时,注册一个要调用的回调函数。
Parameters |
listener |
ViewTreeObserver.OnWindowAttachListener : The callback to add |
addOnWindowFocusChangeListener
void addOnWindowFocusChangeListener (ViewTreeObserver.OnWindowFocusChangeListener listener)
注册一个回调,当视图树中的窗口焦点状态改变时被调用。
Parameters |
listener |
ViewTreeObserver.OnWindowFocusChangeListener : The callback to add |
dispatchOnDraw
void dispatchOnDraw ()
通知已注册的侦听器,即绘制过程即将开始。
dispatchOnGlobalLayout
void dispatchOnGlobalLayout ()
通知注册的侦听器发生全局布局。 如果您在视图或视图层次结构上强制布局但未附加到窗口或GONE状态,则可以手动调用此选项。
dispatchOnPreDraw
boolean dispatchOnPreDraw ()
通知已注册的侦听器,即绘制过程即将开始。 如果侦听器返回true,则绘制过程将被取消并重新计划。 如果您强制在未连接到窗口或处于GONE状态的视图或视图层次结构上绘制图形,可以手动调用它。
Returns |
boolean |
True if the current draw should be canceled and resceduled, false otherwise. |
isAlive
boolean isAlive ()
指示此ViewTreeObserver是否处于活动状态。 当观察者没有活着时,任何对方法的调用(除了这个)都会抛出异常。 如果应用程序保留对此ViewTreeObserver的长时间引用,则应该始终在调用任何其他方法之前检查此方法的结果。
Returns |
boolean |
True if this object is alive and be used, false otherwise. |
removeGlobalOnLayoutListener
void removeGlobalOnLayoutListener (ViewTreeObserver.OnGlobalLayoutListener victim)
此方法在API级别16中已被弃用。
改为使用#removeOnGlobalLayoutListener
删除以前安装的全局布局回调
Parameters |
victim |
ViewTreeObserver.OnGlobalLayoutListener : The callback to remove |
removeOnDrawListener
void removeOnDrawListener (ViewTreeObserver.OnDrawListener victim)
删除以前安装的预绘制回调。
注意:此方法 不能从 onDraw()
调用。
Parameters |
victim |
ViewTreeObserver.OnDrawListener : The callback to remove |
removeOnGlobalFocusChangeListener
void removeOnGlobalFocusChangeListener (ViewTreeObserver.OnGlobalFocusChangeListener victim)
删除以前安装的焦点更改回调。
Parameters |
victim |
ViewTreeObserver.OnGlobalFocusChangeListener : The callback to remove |
removeOnGlobalLayoutListener
void removeOnGlobalLayoutListener (ViewTreeObserver.OnGlobalLayoutListener victim)
删除以前安装的全局布局回调
Parameters |
victim |
ViewTreeObserver.OnGlobalLayoutListener : The callback to remove |
removeOnPreDrawListener
void removeOnPreDrawListener (ViewTreeObserver.OnPreDrawListener victim)
删除以前安装的预绘制回调
Parameters |
victim |
ViewTreeObserver.OnPreDrawListener : The callback to remove |
removeOnScrollChangedListener
void removeOnScrollChangedListener (ViewTreeObserver.OnScrollChangedListener victim)
删除以前安装的滚动更改回调
Parameters |
victim |
ViewTreeObserver.OnScrollChangedListener : The callback to remove |
removeOnTouchModeChangeListener
void removeOnTouchModeChangeListener (ViewTreeObserver.OnTouchModeChangeListener victim)
删除先前安装的触摸模式更改回调
Parameters |
victim |
ViewTreeObserver.OnTouchModeChangeListener : The callback to remove |
removeOnWindowAttachListener
void removeOnWindowAttachListener (ViewTreeObserver.OnWindowAttachListener victim)
删除以前安装的窗口附加回调。
Parameters |
victim |
ViewTreeObserver.OnWindowAttachListener : The callback to remove |
removeOnWindowFocusChangeListener
void removeOnWindowFocusChangeListener (ViewTreeObserver.OnWindowFocusChangeListener victim)
删除以前安装的窗口焦点更改回调。
Parameters |
victim |
ViewTreeObserver.OnWindowFocusChangeListener : The callback to remove |