ViewTreeObserver





Class Overview 클래스의 개요

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.

ViewTreeObserver는 리스너를 등록하는데 사용된다. 무슨 리스너? 뷰의 계층의 글로벌 변경에 대한 알림을 받을 수 있는 리스너. 뷰의 계층은 뭘 말하는거고 글로벌 변경은 뭘까. 

예를 들어 ViewTreeObserver는 View가 그려지거나 Scroll 되거나, Touch 의 변화가 일어났을 시 등등의 이벤트를 캐치하여 Listener로 전달 받을 수 있다.


이러한 글로벌 이벤트는 다음(그리기 패쓰의 시작, 터치모드 변화)을 포함하지만 모든 계층의 레이아웃으로 제한되지 않는다.


ViewTreeObserver는 뷰들의 계층구조에서 제공하는대로 어플리케이션에서 인스턴스해서는 안된다. 


더 많은 정보는 getViewTreeObserver()를 참조하라. 


우와.... 구글신에게 맡겨도 안되는건 안되는구나.. 그래도 하다보면 언젠가는 이해가 되겠지. 



Summary

Nested Classes
interface

Interface definition for a callback to be invoked when the focus state within the view tree changes. 

 자식뷰들의 포커스가 변경되는 것을 알 수 있다.


Interface definition for a callback to be invoked when the global layout state or the visibility of views within the view tree changes.
어떤 뷰의 레이아웃이나 가시성이 변경되는 것을 알 수 있다. 

Interface definition for a callback to be invoked when the view tree is about to be drawn.
화면에 그려지기 전에 특정한 작업을 할 수 있다. 

Interface definition for a callback to be invoked when something in the view tree has been scrolled. 
view tree가 스크롤 되었을 때를 알 수 있다.

Interface definition for a callback to be invoked when the touch mode changes. 
터치모드가 변경되는 것을 알 수 있다.


Posted by 소망아기
: