Wann wird onSizeChanged() aufgerufen?

Lesezeit: 1 Minute

Benutzer-Avatar
iman453

Ist onSizeChanged() aufgerufen, sobald der Benutzer einen Teil des Bildschirms berührt?

Ich bin verwirrt über die Reihenfolge, in der onDraw(), onMeasure() und onSizeChanged() werden genannt.

Benutzer-Avatar
Colin Herbert

Android kennt die tatsächliche Größe beim Start nicht, es muss sie berechnen. Sobald es fertig ist, onSizeChanged() wird Sie mit der tatsächlichen Größe benachrichtigen.

onSizeChanged() heißt einmal die Größe wie errechnet. Ereignisse müssen nicht immer von Benutzern kommen. In diesem Beispiel, wenn Android die Größe ändert, onSizeChanged() wird genannt. Das gleiche mit onDraw()wann die Ansicht gezeichnet werden soll onDraw() wird genannt.

onMeasure() wird direkt nach einem Anruf automatisch angerufen measure()

  • Danke für deine Antwort. Können Sie mir ein Beispiel für einen Fall geben, in dem sich die Größe ändert?

    – iman453

    19. August 2010 um 21:30 Uhr

  • Ich habe die Lösung aktualisiert. Der Hauptaufruf von onSizeChanged() erfolgt nach der Konstruktion Ihrer Ansicht, aber vor dem Zeichnen. Zu diesem Zeitpunkt berechnet das System die Größe Ihrer Ansicht und benachrichtigt Sie per Anruf onSizeChanged()

    – Colin Hebert

    19. August 2010 um 21:55 Uhr

  • Dies ist viel besser als die ViewTreeObserver-Alternative.

    – Dmacpro

    9. April 2015 um 1:55 Uhr

  • onSizeChanged() wird (zumindest manchmal) von innen gerufen layout(). In diesem Fall wird es normalerweise vor jedem aufgerufen OnLayoutChangeListeners.

    – Wilhelm

    9. April 2015 um 17:44 Uhr

1063580cookie-checkWann wird onSizeChanged() aufgerufen?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy