Android
android.view
public final class

android.view.ViewTreeObserver

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
ViewTreeObserver.OnGlobalFocusChangeListener Interface definition for a callback to be invoked when the focus state within the view tree changes. 
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. 
ViewTreeObserver.OnPreDrawListener Interface definition for a callback to be invoked when the view tree is about to be drawn. 
ViewTreeObserver.OnTouchModeChangeListener Interface definition for a callback to be invoked when the touch mode changes. 

Summary

Public Methods

          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.
    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)
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

Details

Public Methods

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

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

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

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

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.

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.

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.

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

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

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

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
Copyright 2007 Google Inc. Build 0.9_r1-98467 - 14 Aug 2008 18:48