2010-08-19 23 views

Odpowiedz

43

Android nie zna rzeczywistej wielkości na początku, musi ją obliczyć. Gdy to zrobisz, onSizeChanged() powiadomi cię o rzeczywistym rozmiarze.

onSizeChanged() jest wywoływane po obliczeniu rozmiaru. Wydarzenia nie muszą cały czas pochodzić od użytkowników. W tym przykładzie, gdy Android zmienia rozmiar, wywoływana jest nazwa onSizeChanged(). To samo z onDraw(), kiedy widok powinien być narysowany onDraw() jest wywołany.

onMeasure() nazywa się automatycznie tuż po wywołaniu measure()

+1

dzięki za odpowiedź. Czy możesz podać przykład instancji, gdy rozmiar się zmieni? – iman453

+2

Zaktualizowałem rozwiązanie. Główne wywołanie metody onSizeChanged() jest wykonywane po utworzeniu widoku, ale przed rysowaniem. W tym momencie system obliczy rozmiar twojego widoku i powiadomi cię przez wywołanie 'onSizeChanged()' –

+0

Jest to znacznie lepsze niż alternatywa ViewTreeObserver. – Dmacpro

Powiązane problemy