Wann macht Android zuerst Layout?

9

Ich muss einige Objekte basierend auf dem ursprünglichen Layout von Widgets und Ansichten in meiner Aktivität vorbereiten. Ich würde es gerne in den Initialisierungsschritten machen, idealerweise onCreate und onStart. In Anbetracht der Möglichkeit von Änderungen, die passieren, wenn wir nicht im Vordergrund stehen, müssen einige von ihnen möglicherweise in onResume passieren.

Also überprüfte ich, ob ich messen konnte, wie meine Ansichten angelegt worden waren.

%Vor%

Ich habe dies onCreate, onStart und onResume ausgeführt. Jedes Mal, wenn ich 0,0 für Breite, Höhe bekomme. Wenn ich aufTouchEvent warte, bekomme ich die Layoutinformationen, so dass das Layout bis dahin fertig ist.

Ich bin überrascht, dass das Layout nicht eingestellt und endgültig ist, wenn ich onResume sehe. Ich habe erwartet, dass die Widgets bereits angelegt und bereit sind, damit zu experimentieren.

    
Brian 21.01.2010, 22:02
quelle

1 Antwort

4

Das Layout wird von der View-Hierarchie nach Bedarf ausgeführt.

Wenn Ihre App gestartet wird, ist dies einige Zeit nach onResume() (wenn Ihr Fenster hochgefahren und auf dem Bildschirm angezeigt wird).

Der richtige Weg, um über Layout-Operationen herauszufinden, ist durch die verschiedenen Callbacks der Ansichtshierarchie - View.onSizeChanged() etc, wie unter "Layout" dokumentiert. hier :

    
hackbod 22.01.2010, 02:06
quelle

Tags und Links