Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android之ViewTreeObserver

Android之ViewTreeObserver

編輯:關於Android編程

前兩天寫了個加載更多的小功能,用到了Android的ViewTreeObserver這個類,在這裡對這個類詳細解釋下。

基本概念

這是一個注冊監聽視圖樹的觀察者(observer),在視圖樹種全局事件改變時得到通知。這個全局事件不僅還包括整個樹的布局,從繪畫過程開始,觸摸模式的改變等。最常見的用途時通過監聽獲知什麼時候,視圖的寬高值確定了,可以獲取了,以便更改UI。

主要接口:監聽器

interface ViewTreeObserver.OnGlobalFocusChangeListener 當在一個視圖樹中的焦點狀態發生改變時,所要調用的回調函數的接口類   interface ViewTreeObserver.OnGlobalLayoutListener 當在一個視圖樹中全局布局發生改變或者視圖樹中的某個視圖的可視狀態發生改變時,所要調用的回調函數的接口類   interface ViewTreeObserver.OnPreDrawListener 當一個視圖樹將要繪制時,所要調用的回調函數的接口類   interface ViewTreeObserver.OnScrollChangedListener 當一個視圖樹中的一些組件發生滾動時,所要調用的回調函數的接口類   interface ViewTreeObserver.OnTouchModeChangeListener 當一個視圖樹的觸摸模式發生改變時,所要調用的回調函數的接口類

代碼示例:

注意:

如何獲取一個控件的長和高,相信很多朋友第一眼看見這個問題都會覺得很簡單,直接在onCreate裡面調用getWidth、getMeasuredWidth不就可以獲得了嗎,但是,事實上是並沒有簡單的,不信的話,你可以去試一下,在onCreate裡面,你是無法獲得長寬值的,始終為0。
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved