nur eine zusätzliche Änderung der obigen Antwort, wenn Sie irgendwelche Operationen Dimensionen aus mehreren Komponenten in einer Ansicht ausführen müssen. Der Layout-Listener wird für jede Ansicht aufgerufen, wenn das Layout abgeschlossen ist. Dies ist rekursiv bis zur Wurzelansichtskomponente (d. H. Untergeordnete Elemente erzeugen Layout-Ereignisse, dann generiert das übergeordnete Element sein Layout-Ereignis). Dies bedeutet, dass Sie sich einfach an das Layout-Ereignis der Stammansicht-Komponente binden können, um benachrichtigt zu werden, wenn sich das Layout einer Ansicht ändert.
ViewTreeObserver observer = this.findViewById(android.R.id.content).getViewTreeObserver();
Jetzt können Sie erwarten, dass alle Ihre Ansichten Breite und Höhe Werte in onGlobalLayout haben, weil sie alle haben ihr Layout durchgeführt. Dies ist offensichtlich vorzuziehen, wenn für jede Ansicht viele Listener erstellt werden, die ihre tatsächlichen Dimensionen verfügbar machen müssen (es sei denn, Sie müssen unbedingt über einen Bereich verfügen, für den die Ansicht das Ereignis generiert hat, was normalerweise nicht erforderlich ist).
Dies ist wahrscheinlich ein Duplikat dieser SO Frage: http://StackOverflow.com/Questions/2864331/How-to-get-an-android-widgets-size-after-layout-is-calculated –
Danke - Meine Suche fu ist schon in den Urlaub gegangen. Ich werde zuerst die Antwort unten versuchen, aber es ist gut, Optionen zu haben. –