Mam niestandardowy widok, który rysuje przewijaną mapę bitową na ekranie. Aby go zainicjować, muszę przekazać rozmiar w pikselach obiektu nadrzędnego. Ale podczas funkcji onCreate i onResume Układ nie został jeszcze narysowany, a więc layout.getMeasuredHeight() zwraca 0.Jak określić, kiedy układ został narysowany?
Jako obejście dodałem program obsługi, aby odczekać jedną sekundę, a następnie zmierzyć. To działa, ale jest niechlujne i nie mam pojęcia, jak bardzo mogę przyciąć czas, zanim skończę, zanim układ zostanie narysowany.
Co chcę wiedzieć, jak wykryć, kiedy układ zostanie narysowany? Czy istnieje zdarzenie lub oddzwanianie?
To działało. Dzięki! ViewTreeObserver jest dokładnie tym, czego chciałem. –
Wielkie dzięki! Dokładnie przykład, którego szukałem, w tym natychmiastowe usunięcie słuchacza przy pierwszym uruchomieniu. – baske
Tak, tak powiedział Romain Guy! –