Wiemy, że ViewTreeObserver służy do rejestracji słuchaczy, którzy mogą otrzymywać powiadomienia o zmianach globalnych w drzewie widoku. Istnieją dwie metody zdefiniowane w tej klasie: addOnGlobalLayoutListener(ViewTreeObserver.OnGlobalLayoutListener
słuchacza) i addOnPreDrawListener(ViewTreeObserver.OnPreDrawListener listener)
. Ale cel tych metod nie jest dla mnie zrozumiały, co opisałem na stronie programisty. Próbowałem to zrozumieć, a także wyszukiwać w Google, ale nie udało mi się znaleźć jasnego obrazu na ten temat. Każda pomoc jest dla mnie bardzo garstka.Różnica między addonGlobalLayoutListener i addOnPreDrawListener
5
A
Odpowiedz
4
OnPreDrawListener
Zostaje wywołana metoda wywoływana tuż przed wywołaniem metody onDraw(). W tym momencie wszystkie widoki w drzewie zostały zmierzone i otrzymały ramkę. Można zatem pogląd prawidłowo manipulować w ten zwrotnego
OnGlobalLayoutListener
Ten słuchacz dostaje nazwie: - Podczas zmiany stanu widoczności. W przykładzie, gdy widok został narysowany, staje się widoczny i zostaje wywołany. - po dodaniu widoku zmiany drzewa widoku