Android 3.0 r1中文API文档(104) —— ViewTreeObserver
正文
一、結構
public final class?ViewTreeObserver extends?Object
????????
java.lang.Object
???????? android.view.ViewTreeObserver
?
二、概述
用于注冊監聽的視圖樹觀察者(observer),在視圖樹種全局事件改變時得到通知。這個全局事件不僅還包括整個樹的布局,從繪畫過程開始,觸摸模式的改變等。ViewTreeObserver不能夠被應用程序實例化,因為它是由視圖提供,參照getViewTreeObserver()以查看更多信息。?
三、內部類
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)
注冊一個回調函數,當一個視圖樹將要繪制時調用這個回調函數。
?
參數
???????????????? listener????將要被添加的回調函數
?????????????????異常
???????????????? IllegalStateException???????如果isAlive()?返回false
???????????????????????????
public void?addOnScrollChangedListener?(ViewTreeObserver.OnScrollChangedListener listener)?????
注冊一個回調函數,當一個視圖發生滾動時調用這個回調函數。
?
參數
???????????????? listener????將要被添加的回調函數
?????????????????異常
???????????????? IllegalStateException???????如果isAlive()?返回false
???????????????????????????
public void?addOnTouchModeChangeListener?(ViewTreeObserver.OnTouchModeChangeListener listener)
注冊一個回調函數,當一個觸摸模式發生改變時調用這個回調函數。
?
參數
???????????????? listener????將要被添加的回調函數
?????????????????異常
???????????????? IllegalStateException???????如果isAlive()?返回false
?
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)
移除之前已經注冊的預繪制回調函數。
?
參數
???????????????? victim?將要被移除的回調函數
?????????????????異常
???????????????? IllegalStateException???????如果isAlive()?返回false??
public void?removeOnScrollChangedListener?(ViewTreeObserver.OnScrollChangedListener victim)
移除之前已經注冊的滾動改變回調函數。
?
參數
???????????????? victim?將要被移除的回調函數
?????????????????異常
???????????????? IllegalStateException???????如果isAlive()?返回false??
?
public void?removeOnTouchModeChangeListener?(ViewTreeObserver.OnTouchModeChangeListener victim)
移除之前已經注冊的觸摸模式改變回調函數
?
參數
???????????????? victim?將要被移除的回調函數
?????????????????異常
???????????????? IllegalStateException???????如果isAlive()?返回false?本文轉自over140 51CTO博客,原文鏈接:http://blog.51cto.com/over140/582383,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的Android 3.0 r1中文API文档(104) —— ViewTreeObserver的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: keepalived-1.2.2 编译出
- 下一篇: PHP采集商家信息及采集方法概述(上)