2010-10-16 11 views
22

Potrzebuję przechwycić bezwzględne pozycje niektórych widoków obrazu, aby użyć ich jako celów upuszczania. Nie mogę znaleźć zdarzenia, którego potrzebuję, aby wprowadzić kod w celu odczytania ekranu i uzyskania pozycji Left(), Top() ... Nie chcę monitorować inflacji każdego indywidualnego widoku. Musi istnieć rodzaj zdarzenia typu OnCreenFinsihed, ale nie mogę go znaleźć. onMeasure i onDraw wydają się strzelać na początku ich pracy, muszę wiedzieć, kiedy są gotowe. TIA.Jakie wydarzenie zostało wywołane po pełnym wyświetleniu wszystkich widoków?

Odpowiedz

30

Nie ma takiego zdarzenia. Możesz po prostu opublikować komunikat/Runnable w kolejce zdarzeń interfejsu użytkownika na początku sekwencji rysunkowej, aby mieć ten komunikat/Runnable wykonany po zakończeniu rysowania (zobacz na przykład View.post (Runnable)). Ponadto, getLeft/getTop zwróci poprawna wartość po pomiarze i układzie, nie musisz czekać na koniec rysunku, aby go użyć.

Powiązane problemy