Build 1.0_r1(from source)

android.view
Class ViewTreeObserver

java.lang.Object
  extended by android.view.ViewTreeObserver

public final class ViewTreeObserver
extends Object

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 View.getViewTreeObserver() for more information.


Nested Class Summary
static interface ViewTreeObserver.OnGlobalFocusChangeListener
          Interface definition for a callback to be invoked when the focus state within the view tree changes.
static 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.
static interface ViewTreeObserver.OnPreDrawListener
          Interface definition for a callback to be invoked when the view tree is about to be drawn.
static interface ViewTreeObserver.OnTouchModeChangeListener
          Interface definition for a callback to be invoked when the touch mode changes.
 
Constructor Summary
ViewTreeObserver()
          Creates a new ViewTreeObserver.
 
Method Summary
 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 addOnTouchModeChangeListener(ViewTreeObserver.OnTouchModeChangeListener listener)
          Register a callback to be invoked when the invoked when the touch mode changes.
(package private)  void dispatchOnGlobalFocusChange(View oldFocus, View newFocus)
          Notifies registered listeners that focus has changed.
 void dispatchOnGlobalLayout()
          Notifies registered listeners that a global layout happened.
 boolean dispatchOnPreDraw()
          Notifies registered listeners that the drawing pass is about to start.
(package private)  void dispatchOnTouchModeChanged(boolean inTouchMode)
          Notifies registered listeners that the touch mode has changed.
 boolean isAlive()
          Indicates whether this ViewTreeObserver is alive.
(package private)  void merge(ViewTreeObserver observer)
          Merges all the listeners registered on the specified observer with the listeners registered on this object.
 void removeGlobalOnLayoutListener(ViewTreeObserver.OnGlobalLayoutListener victim)
          Remove a previously installed global layout callback
 void removeOnGlobalFocusChangeListener(ViewTreeObserver.OnGlobalFocusChangeListener victim)
          Remove a previously installed focus change callback.
 void removeOnPreDrawListener(ViewTreeObserver.OnPreDrawListener victim)
          Remove a previously installed pre-draw callback
 void removeOnTouchModeChangeListener(ViewTreeObserver.OnTouchModeChangeListener victim)
          Remove a previously installed touch mode change callback
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ViewTreeObserver

ViewTreeObserver()
Creates a new ViewTreeObserver. This constructor should not be called

Method Detail

merge

void merge(ViewTreeObserver observer)
Merges all the listeners registered on the specified observer with the listeners registered on this object. After this method is invoked, the specified observer will return false in isAlive() and should not be used anymore.

Parameters:
observer - The ViewTreeObserver whose listeners must be added to this observer

addOnGlobalFocusChangeListener

public void addOnGlobalFocusChangeListener(ViewTreeObserver.OnGlobalFocusChangeListener listener)
Register a callback to be invoked when the focus state within the view tree changes.

Parameters:
listener - The callback to add
Throws:
IllegalStateException - If isAlive() returns false

removeOnGlobalFocusChangeListener

public void removeOnGlobalFocusChangeListener(ViewTreeObserver.OnGlobalFocusChangeListener victim)
Remove a previously installed focus change callback.

Parameters:
victim - The callback to remove
Throws:
IllegalStateException - If isAlive() returns false
See Also:
addOnGlobalFocusChangeListener(OnGlobalFocusChangeListener)

addOnGlobalLayoutListener

public 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 - The callback to add
Throws:
IllegalStateException - If isAlive() returns false

removeGlobalOnLayoutListener

public void removeGlobalOnLayoutListener(ViewTreeObserver.OnGlobalLayoutListener victim)
Remove a previously installed global layout callback

Parameters:
victim - The callback to remove
Throws:
IllegalStateException - If isAlive() returns false
See Also:
addOnGlobalLayoutListener(OnGlobalLayoutListener)

addOnPreDrawListener

public void addOnPreDrawListener(ViewTreeObserver.OnPreDrawListener listener)
Register a callback to be invoked when the view tree is about to be drawn

Parameters:
listener - The callback to add
Throws:
IllegalStateException - If isAlive() returns false

removeOnPreDrawListener

public void removeOnPreDrawListener(ViewTreeObserver.OnPreDrawListener victim)
Remove a previously installed pre-draw callback

Parameters:
victim - The callback to remove
Throws:
IllegalStateException - If isAlive() returns false
See Also:
addOnPreDrawListener(OnPreDrawListener)

addOnTouchModeChangeListener

public void addOnTouchModeChangeListener(ViewTreeObserver.OnTouchModeChangeListener listener)
Register a callback to be invoked when the invoked when the touch mode changes.

Parameters:
listener - The callback to add
Throws:
IllegalStateException - If isAlive() returns false

removeOnTouchModeChangeListener

public void removeOnTouchModeChangeListener(ViewTreeObserver.OnTouchModeChangeListener victim)
Remove a previously installed touch mode change callback

Parameters:
victim - The callback to remove
Throws:
IllegalStateException - If isAlive() returns false
See Also:
addOnTouchModeChangeListener(OnTouchModeChangeListener)

isAlive

public 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:
True if this object is alive and be used, false otherwise.

dispatchOnGlobalFocusChange

final void dispatchOnGlobalFocusChange(View oldFocus,
                                       View newFocus)
Notifies registered listeners that focus has changed.


dispatchOnGlobalLayout

public final 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.


dispatchOnPreDraw

public final 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:
True if the current draw should be canceled and resceduled, false otherwise.

dispatchOnTouchModeChanged

final void dispatchOnTouchModeChanged(boolean inTouchMode)
Notifies registered listeners that the touch mode has changed.

Parameters:
inTouchMode - True if the touch mode is now enabled, false otherwise.

Build 1.0_r1(from source)

Please submit a feedback, bug or feature