天天看點

Android 3.0 r1中文API文檔(104) —— ViewTreeObserver

正文

  一、結構

public final class ViewTreeObserver extends Object

java.lang.Object

         android.view.ViewTreeObserver

  二、概述

  三、内部類

    interface          ViewTreeObserver.OnGlobalFocusChangeListener        

    當在一個視圖樹中的焦點狀态發生改變時,所要調用的回調函數的接口類

    interface          ViewTreeObserver.OnGlobalLayoutListener

    當在一個視圖樹中全局布局發生改變或者視圖樹中的某個視圖的可視狀态發生改變時,所要調用的回調函數的接口類

    interface          ViewTreeObserver.OnPreDrawListener

    當一個視圖樹将要繪制時,所要調用的回調函數的接口類

    interface          ViewTreeObserver.OnScrollChangedListener

    當一個視圖樹中的一些元件發生滾動時,所要調用的回調函數的接口類

    interface          ViewTreeObserver.OnTouchModeChangeListener

    當一個視圖樹的觸摸模式發生改變時,所要調用的回調函數的接口類

  四、公共方法

  public void addOnGlobalFocusChangeListener (ViewTreeObserver.OnGlobalFocusChangeListener listener)

  注冊一個回調函數,當在一個視圖樹中的焦點狀态發生改變時調用這個回調函數。

  參數

                   listener    将要被添加的回調函數

                 異常

                   IllegalStateException       如果isAlive() 傳回false

  public void addOnGlobalLayoutListener (ViewTreeObserver.OnGlobalLayoutListener listener)

  注冊一個回調函數,當在一個視圖樹中全局布局發生改變或者視圖樹中的某個視圖的可視狀态發生改變時調用這個回調函數。

                   listener    将要被添加的回調函數

                   IllegalStateException       如果isAlive() 傳回false

  public void addOnPreDrawListener (ViewTreeObserver.OnPreDrawListener listener)

  注冊一個回調函數,當一個視圖樹将要繪制時調用這個回調函數。

  public void addOnScrollChangedListener (ViewTreeObserver.OnScrollChangedListener listener)     

  注冊一個回調函數,當一個視圖發生滾動時調用這個回調函數。

  public void addOnTouchModeChangeListener (ViewTreeObserver.OnTouchModeChangeListener listener)

  注冊一個回調函數,當一個觸摸模式發生改變時調用這個回調函數。

  public final void dispatchOnGlobalLayout ()

  當整個布局發生改變時通知相應的注冊監聽器。如果你強制對視圖布局或者在一個沒有附加到一個視窗的視圖的層次結構或者在GONE狀态下,它可以被手動的調用

  public final boolean dispatchOnPreDraw ()

  當一個視圖樹将要繪制時通知相應的注冊監聽器。如果這個監聽器傳回true,則這個繪制将被取消并重新計劃。如果你強制對視圖布局或者在一個沒有附加到一個視窗的視圖的層次結構或者在一個GONE狀态下,它可以被手動的調用

                   傳回值

                            目前繪制能夠取消并重新計劃則傳回true,否則傳回false。

  public boolean isAlive ()

  訓示目前的ViewTreeObserver是否可用(alive)。當observer不可用時,任何方法的調用(除了這個方法)都将抛出一個異常。如果一個應用程式保持和ViewTreeObserver一個曆時較長的引用,它應該總是需要在調用别的方法之前去檢測這個方法的傳回值。

                            但這個對象可用則傳回true,否則傳回false             

  public void removeGlobalOnLayoutListener (ViewTreeObserver.OnGlobalLayoutListener victim)

  移除之前已經注冊的全局布局回調函數。

                   victim 将要被移除的回調函數

                   IllegalStateException       如果isAlive() 傳回false        

  public void removeOnGlobalFocusChangeListener (ViewTreeObserver.OnGlobalFocusChangeListener victim)

  移除之前已經注冊的焦點改變回調函數。

                   victim 将要被移除的回調函數

                   IllegalStateException       如果isAlive() 傳回false 

  public void removeOnPreDrawListener (ViewTreeObserver.OnPreDrawListener victim)

  移除之前已經注冊的預繪制回調函數。

  public void removeOnScrollChangedListener (ViewTreeObserver.OnScrollChangedListener victim)

  移除之前已經注冊的滾動改變回調函數。

  public void removeOnTouchModeChangeListener (ViewTreeObserver.OnTouchModeChangeListener victim)

  移除之前已經注冊的觸摸模式改變回調函數

本文轉自over140 51CTO部落格,原文連結:http://blog.51cto.com/over140/582383,如需轉載請自行聯系原作者

繼續閱讀