2010-10-16 4 views
22

J'ai besoin de capturer les positions absolues de certains ImageViews à utiliser comme cibles de largage. Je n'arrive pas à trouver quel événement j'ai besoin de mettre mon code pour lire l'écran et obtenir les positions Left(), Top() .. Je ne veux pas surveiller l'inflation de chaque vue individuelle. Il doit y avoir un type d'événement onScreenFinsihed, mais je ne le trouve pas. onMeasure et onDraw semblent tirer au début de leur travail, j'ai besoin de savoir quand ils ont fini. TIA.Quel événement est déclenché après que toutes les vues ont été entièrement dessinées?

Répondre

30

Il n'y a pas un tel événement. Vous pouvez simplement poster un message/Runnable dans la file d'attente des événements de l'interface utilisateur au début d'une séquence de dessin pour exécuter ce message/Runnable une fois le dessin terminé (voir View.post (Runnable) par exemple.) En outre, getLeft/getTop valeur correcte après la mesure et la mise en page, vous n'avez pas besoin d'attendre que le dessin se termine pour les utiliser.

Questions connexes