Ho una vista personalizzata che disegna una bitmap scorrevole sullo schermo. Per inizializzarlo, ho bisogno di passare la dimensione in pixel dell'oggetto di layout principale. Ma durante le funzioni onCreate e onResume, il Layout non è ancora stato disegnato, quindi layout.getMeasuredHeight() restituisce 0.Come puoi sapere quando è stato disegnato un layout?
Come soluzione alternativa, ho aggiunto un gestore per attendere un secondo e quindi misurare. Funziona, ma è sciatto, e non ho idea di quanto posso tagliare il tempo prima che finisca prima che il layout venga disegnato.
Quello che voglio sapere è, come posso rilevare quando viene tracciato un layout? C'è un evento o un callback?
Questo ha funzionato. Grazie! ViewTreeObserver è esattamente la cosa che volevo. –
Grazie mille! Esattamente l'esempio che stavo cercando, inclusa la rimozione immediata dell'ascoltatore al primo trigger. – baske
Sì, questo è quello che ha detto di fare Romain Guy! –