2015-10-07 9 views
5

ViewTreeObserverは、ビューツリーのグローバルな変更を通知できるリスナーを登録するのに使用されています。このクラスで定義されている2つのメソッドは、 addOnGlobalLayoutListener(ViewTreeObserver.OnGlobalLayoutListenerリスナー)とaddOnPreDrawListener(ViewTreeObserver.OnPreDrawListener listener)です。しかし、これらのメソッドの目的は、開発者サイトに記載されている私には明らかに理解できません。私はそれを理解しようとし、またGoogleで検索しましたが、このトピックについての明確な画像を見つけることができませんでした。どんな助けも私には非常に少数です。addonGlobalLayoutListenerとaddOnPreDrawListenerの相違点

答えて

4
OnPreDrawListener 

onDraw()メソッドが呼び出される直前に呼び出されます。この時点で、ツリー内のすべてのビューが測定され、フレームが与えられています。したがって、あなたが適切にこのコールバックで

OnGlobalLayoutListener 

をビューを操作することができ、このリスナーが呼び出されます: - ときの可視性の状態が変化。たとえば、ビューが描画されたときに表示され、これが呼び出されます。 - ビュービューツリーの変更を追加するとき

関連する問題