Was ist der Unterschied zwischen getMeasuredHeight und getHeight

Lesezeit: 2 Minuten

Benutzer-Avatar
Cheok Yan Cheng

Ich versuche anzurufen View.getMeasuredHeight und View.getHeight in onGlobalLayout. Beide liefern mir das gleiche Ergebnis.

Ich habe mich gefragt, in welcher Situation ihr Wert unterschiedlich sein wird? Gibt es ein Beispiel, um dies zu demonstrieren?

Ich habe versucht, in Google zu suchen. Das erste Ergebnis scheint für diese Frage nicht relevant zu sein: Android: Wie erhält man die Höhe und Breite einer benutzerdefinierten Ansicht?

Benutzer-Avatar
Dan Bechard

Wenn Sie eine Ansicht verwenden, erlegt sie ihren untergeordneten Elementen bestimmte Größenbeschränkungen auf. Diese Einschränkungen können verhindern, dass ein untergeordnetes Element den gewünschten Speicherplatz einnimmt.

Das Dokumentation für die View-Klasse beschreibt diese Eigenschaften wie folgt:

Die Größe einer Ansicht wird durch eine Breite und eine Höhe ausgedrückt. Eine Ansicht besitzt tatsächlich zwei Paare von Breiten- und Höhenwerten.

Das erste Paar ist als gemessene Breite und gemessene Höhe bekannt. Diese Abmessungen definieren, wie groß eine Ansicht innerhalb ihrer übergeordneten Ansicht sein soll (weitere Einzelheiten finden Sie unter Layout). Die gemessenen Abmessungen können durch Aufrufen von getMeasuredWidth() und getMeasuredHeight() abgerufen werden.

Das zweite Paar ist einfach als Breite und Höhe oder manchmal als Zeichnungsbreite und Zeichnungshöhe bekannt. Diese Abmessungen definieren die tatsächliche Größe der Ansicht auf dem Bildschirm, zum Zeitpunkt des Zeichnens und nach dem Layout. Diese Werte können, müssen aber nicht von der gemessenen Breite und Höhe abweichen. Die Breite und Höhe erhalten Sie durch Aufrufen von getWidth() und getHeight().

Siehe auch: http://developer.android.com/guide/topics/ui/how-android-draws.html

  • Also geben getMeasuredWidth() und getMeasuredHeight() den Wert in Pixel zurück, sonst geben getWidth() und getHeight() den Wert in dp zurück?

    – Denny Kurniawan

    6. März 2019 um 17:09 Uhr

  • @DennyKurniawan Die Werte für alle vier Messungen werden in Pixel zurückgegeben.

    – Dan Bechard

    14. Dezember 2019 um 6:42 Uhr


1145770cookie-checkWas ist der Unterschied zwischen getMeasuredHeight und getHeight

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

Privacy policy