public
final
class
ViewTreeObserver
extends Object
java.lang.Object | |
↳ | android.view.ViewTreeObserver |
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 getViewTreeObserver()
for more information.
Nested classes | |
---|---|
interface |
ViewTreeObserver.OnDrawListener
Interface definition for a callback to be invoked when the view tree is about to be drawn. |
interface |
ViewTreeObserver.OnGlobalFocusChangeListener
Interface definition for a callback to be invoked when the focus state within the view tree changes. |
interface |
ViewTreeObserver.OnGlobalLayoutListener
Interface definition for a callback to be invoked when the global layout state or the visibility of views within the view tree changes. |
interface |
ViewTreeObserver.OnPreDrawListener
Interface definition for a callback to be invoked when the view tree is about to be drawn. |
interface |
ViewTreeObserver.OnScrollChangedListener
Interface definition for a callback to be invoked when something in the view tree has been scrolled. |
interface |
ViewTreeObserver.OnTouchModeChangeListener
Interface definition for a callback to be invoked when the touch mode changes. |
interface |
ViewTreeObserver.OnWindowAttachListener
Interface definition for a callback to be invoked when the view hierarchy is attached to and detached from its window. |
interface |
ViewTreeObserver.OnWindowFocusChangeListener
Interface definition for a callback to be invoked when the view hierarchy's window focus state changes. |
Public methods | |
---|---|
void
|
addOnDrawListener(ViewTreeObserver.OnDrawListener listener)
Register a callback to be invoked when the view tree is about to be drawn. |
void
|
addOnGlobalFocusChangeListener(ViewTreeObserver.OnGlobalFocusChangeListener listener)
Register a callback to be invoked when the focus state within the view tree changes. |
void
|
addOnGlobalLayoutListener(ViewTreeObserver.OnGlobalLayoutListener listener)
Register a callback to be invoked when the global layout state or the visibility of views within the view tree changes |
void
|
addOnPreDrawListener(ViewTreeObserver.OnPreDrawListener listener)
Register a callback to be invoked when the view tree is about to be drawn |
void
|
addOnScrollChangedListener(ViewTreeObserver.OnScrollChangedListener listener)
Register a callback to be invoked when a view has been scrolled. |
void
|
addOnTouchModeChangeListener(ViewTreeObserver.OnTouchModeChangeListener listener)
Register a callback to be invoked when the invoked when the touch mode changes. |
void
|
addOnWindowAttachListener(ViewTreeObserver.OnWindowAttachListener listener)
Register a callback to be invoked when the view hierarchy is attached to a window. |
void
|
addOnWindowFocusChangeListener(ViewTreeObserver.OnWindowFocusChangeListener listener)
Register a callback to be invoked when the window focus state within the view tree changes. |
final
void
|
dispatchOnDraw()
Notifies registered listeners that the drawing pass is about to start. |
final
void
|
dispatchOnGlobalLayout()
Notifies registered listeners that a global layout happened. |
final
boolean
|
dispatchOnPreDraw()
Notifies registered listeners that the drawing pass is about to start. |
boolean
|
isAlive()
Indicates whether this ViewTreeObserver is alive. |
void
|
removeGlobalOnLayoutListener(ViewTreeObserver.OnGlobalLayoutListener victim)
This method was deprecated in API level 16. Use #removeOnGlobalLayoutListener instead |
void
|
removeOnDrawListener(ViewTreeObserver.OnDrawListener victim)
Remove a previously installed pre-draw callback. |
void
|
removeOnGlobalFocusChangeListener(ViewTreeObserver.OnGlobalFocusChangeListener victim)
Remove a previously installed focus change callback. |
void
|
removeOnGlobalLayoutListener(ViewTreeObserver.OnGlobalLayoutListener victim)
Remove a previously installed global layout callback |
void
|
removeOnPreDrawListener(ViewTreeObserver.OnPreDrawListener victim)
Remove a previously installed pre-draw callback |
void
|
removeOnScrollChangedListener(ViewTreeObserver.OnScrollChangedListener victim)
Remove a previously installed scroll-changed callback |
void
|
removeOnTouchModeChangeListener(ViewTreeObserver.OnTouchModeChangeListener victim)
Remove a previously installed touch mode change callback |
void
|
removeOnWindowAttachListener(ViewTreeObserver.OnWindowAttachListener victim)
Remove a previously installed window attach callback. |
void
|
removeOnWindowFocusChangeListener(ViewTreeObserver.OnWindowFocusChangeListener victim)
Remove a previously installed window focus change callback. |
Inherited methods | |
---|---|
From
class
java.lang.Object
|
void addOnDrawListener (ViewTreeObserver.OnDrawListener listener)
Register a callback to be invoked when the view tree is about to be drawn.
Note: this method cannot be invoked from
onDraw()
.
Parameters | |
---|---|
listener |
ViewTreeObserver.OnDrawListener :
The callback to add |
Throws | |
---|---|
IllegalStateException |
If isAlive() returns false
|
void addOnGlobalFocusChangeListener (ViewTreeObserver.OnGlobalFocusChangeListener listener)
Register a callback to be invoked when the focus state within the view tree changes.
Parameters | |
---|---|
listener |
ViewTreeObserver.OnGlobalFocusChangeListener :
The callback to add |
Throws | |
---|---|
IllegalStateException |
If isAlive() returns false
|
void addOnGlobalLayoutListener (ViewTreeObserver.OnGlobalLayoutListener listener)
Register a callback to be invoked when the global layout state or the visibility of views within the view tree changes
Parameters | |
---|---|
listener |
ViewTreeObserver.OnGlobalLayoutListener :
The callback to add |
Throws | |
---|---|
IllegalStateException |
If isAlive() returns false
|
void addOnPreDrawListener (ViewTreeObserver.OnPreDrawListener listener)
Register a callback to be invoked when the view tree is about to be drawn
Parameters | |
---|---|
listener |
ViewTreeObserver.OnPreDrawListener :
The callback to add |
Throws | |
---|---|
IllegalStateException |
If isAlive() returns false
|
void addOnScrollChangedListener (ViewTreeObserver.OnScrollChangedListener listener)
Register a callback to be invoked when a view has been scrolled.
Parameters | |
---|---|
listener |
ViewTreeObserver.OnScrollChangedListener :
The callback to add |
Throws | |
---|---|
IllegalStateException |
If isAlive() returns false
|
void addOnTouchModeChangeListener (ViewTreeObserver.OnTouchModeChangeListener listener)
Register a callback to be invoked when the invoked when the touch mode changes.
Parameters | |
---|---|
listener |
ViewTreeObserver.OnTouchModeChangeListener :
The callback to add |
Throws | |
---|---|
IllegalStateException |
If isAlive() returns false
|
void addOnWindowAttachListener (ViewTreeObserver.OnWindowAttachListener listener)
Register a callback to be invoked when the view hierarchy is attached to a window.
Parameters | |
---|---|
listener |
ViewTreeObserver.OnWindowAttachListener :
The callback to add |
Throws | |
---|---|
IllegalStateException |
If isAlive() returns false
|
void addOnWindowFocusChangeListener (ViewTreeObserver.OnWindowFocusChangeListener listener)
Register a callback to be invoked when the window focus state within the view tree changes.
Parameters | |
---|---|
listener |
ViewTreeObserver.OnWindowFocusChangeListener :
The callback to add |
Throws | |
---|---|
IllegalStateException |
If isAlive() returns false
|
void dispatchOnDraw ()
Notifies registered listeners that the drawing pass is about to start.
void dispatchOnGlobalLayout ()
Notifies registered listeners that a global layout happened. This can be called manually if you are forcing a layout on a View or a hierarchy of Views that are not attached to a Window or in the GONE state.
boolean dispatchOnPreDraw ()
Notifies registered listeners that the drawing pass is about to start. If a listener returns true, then the drawing pass is canceled and rescheduled. This can be called manually if you are forcing the drawing on a View or a hierarchy of Views that are not attached to a Window or in the GONE state.
Returns | |
---|---|
boolean |
True if the current draw should be canceled and resceduled, false otherwise. |
boolean isAlive ()
Indicates whether this ViewTreeObserver is alive. When an observer is not alive, any call to a method (except this one) will throw an exception. If an application keeps a long-lived reference to this ViewTreeObserver, it should always check for the result of this method before calling any other method.
Returns | |
---|---|
boolean |
True if this object is alive and be used, false otherwise. |
void removeGlobalOnLayoutListener (ViewTreeObserver.OnGlobalLayoutListener victim)
This method was deprecated
in API level 16.
Use #removeOnGlobalLayoutListener instead
Remove a previously installed global layout callback
Parameters | |
---|---|
victim |
ViewTreeObserver.OnGlobalLayoutListener :
The callback to remove |
Throws | |
---|---|
IllegalStateException |
If isAlive() returns false |
void removeOnDrawListener (ViewTreeObserver.OnDrawListener victim)
Remove a previously installed pre-draw callback.
Note: this method cannot be invoked from
onDraw()
.
Parameters | |
---|---|
victim |
ViewTreeObserver.OnDrawListener :
The callback to remove |
Throws | |
---|---|
IllegalStateException |
If isAlive() returns false |
See also:
void removeOnGlobalFocusChangeListener (ViewTreeObserver.OnGlobalFocusChangeListener victim)
Remove a previously installed focus change callback.
Parameters | |
---|---|
victim |
ViewTreeObserver.OnGlobalFocusChangeListener :
The callback to remove |
Throws | |
---|---|
IllegalStateException |
If isAlive() returns false |
void removeOnGlobalLayoutListener (ViewTreeObserver.OnGlobalLayoutListener victim)
Remove a previously installed global layout callback
Parameters | |
---|---|
victim |
ViewTreeObserver.OnGlobalLayoutListener :
The callback to remove |
Throws | |
---|---|
IllegalStateException |
If isAlive() returns false |
void removeOnPreDrawListener (ViewTreeObserver.OnPreDrawListener victim)
Remove a previously installed pre-draw callback
Parameters | |
---|---|
victim |
ViewTreeObserver.OnPreDrawListener :
The callback to remove |
Throws | |
---|---|
IllegalStateException |
If isAlive() returns false |
See also:
void removeOnScrollChangedListener (ViewTreeObserver.OnScrollChangedListener victim)
Remove a previously installed scroll-changed callback
Parameters | |
---|---|
victim |
ViewTreeObserver.OnScrollChangedListener :
The callback to remove |
Throws | |
---|---|
IllegalStateException |
If isAlive() returns false |
void removeOnTouchModeChangeListener (ViewTreeObserver.OnTouchModeChangeListener victim)
Remove a previously installed touch mode change callback
Parameters | |
---|---|
victim |
ViewTreeObserver.OnTouchModeChangeListener :
The callback to remove |
Throws | |
---|---|
IllegalStateException |
If isAlive() returns false |
void removeOnWindowAttachListener (ViewTreeObserver.OnWindowAttachListener victim)
Remove a previously installed window attach callback.
Parameters | |
---|---|
victim |
ViewTreeObserver.OnWindowAttachListener :
The callback to remove |
Throws | |
---|---|
IllegalStateException |
If isAlive() returns false |
void removeOnWindowFocusChangeListener (ViewTreeObserver.OnWindowFocusChangeListener victim)
Remove a previously installed window focus change callback.
Parameters | |
---|---|
victim |
ViewTreeObserver.OnWindowFocusChangeListener :
The callback to remove |
Throws | |
---|---|
IllegalStateException |
If isAlive() returns false |