Sappiamo che ViewTreeObserver viene utilizzato per registrare listener che possono essere avvisati dei cambiamenti globali nell'albero delle viste. Ci sono due metodi definiti in questa classe sono addOnGlobalLayoutListener(ViewTreeObserver.OnGlobalLayoutListener
listener) e addOnPreDrawListener(ViewTreeObserver.OnPreDrawListener listener)
. Ma lo scopo di questi metodi non è chiaramente comprensibile per me, come descritto nel sito degli sviluppatori. Ho cercato di capirlo e ho anche cercato su google, ma non sono riuscito a trovare un'immagine chiara su questo argomento. Qualsiasi aiuto è molto utile per me.differenza tra addonGlobalLayoutListener e addOnPreDrawListener
5
A
risposta
4
OnPreDrawListener
Viene chiamato prima che il metodo onDraw() venga richiamato. A questo punto, tutte le viste nell'albero sono state misurate e fornite una cornice. Pertanto è possibile manipolare correttamente vista in questo callback
OnGlobalLayoutListener
Questo ascoltatore viene chiamato: - quando lo stato di visibilità. Nell'esempio in cui la vista è stata disegnata diventa visibile e viene chiamata. - quando aggiungi modifiche allo stato di visualizzazione di ViewView