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,如需转载请自行联系原作者
相关文章
|
10月前
|
人工智能 Rust 安全
DeepClaude:结合 DeepSeek R1 和 Claude AI 各自优势开发的 AI 应用平台,支持 API 调用和零延迟的即时响应
DeepClaude 是一个开源的 AI 应用开发平台,结合了 DeepSeek R1 和 Claude 模型的优势,提供即时响应、端到端加密和高度可配置的功能。
792 4
DeepClaude:结合 DeepSeek R1 和 Claude AI 各自优势开发的 AI 应用平台,支持 API 调用和零延迟的即时响应
|
Android开发
Android手机模拟器如何把语言设置为中文
Android手机模拟器如何把语言设置为中文
761 0
Android手机模拟器如何把语言设置为中文
|
XML API Android开发
最权威的 Android Oreo 新特性详解(带有中文视频讲解)
Android 8.0 是谷歌推出的智能手机操作系统,2017年3月21日Google 为开发者推出了新的 Android O 首个开发者预览版,2017 Google I/O 开发者大会上发布了第二个Android O开发者预览 。2017年8月22日,谷歌正式发布了Android 8.0的正式版,其正式名称为:Android Oreo(奥利奥),简称 Android O 。
320 0
最权威的 Android Oreo 新特性详解(带有中文视频讲解)
|
机器学习/深度学习 人工智能 算法
|
API Android开发 数据格式
|
前端开发 API Android开发

热门文章

最新文章