Ich kann nicht herausfinden, wie ich Ansicht / Layoutbreite / -höhe erhalte.

Ich bin ein Android-Neuling. Dies sollte die einfachste Sache der Welt sein, aber wenn ich es herausfinde, bin ich verrückt: Wie bekomme ich die Dimensionen einer Ansicht oder eines Layouts?

Der Standardansatz scheint in etwa zu lauten:

((LinearLayout) this.findViewById (R.id.MyLayout)). GetWidth ();

Außer, dass dies immer Null zurückgibt, da ich dies versuche, wenn die Aktivität gestartet wird (onCreate) und die Geometrie noch nicht festgelegt ist. Ich habe versucht, in den Schlafmodus zu wechseln, um das Layout einzurichten, außer dass esGewohnhei Richten Sie das Layout ein, bis onCreate zurückkehrt. Es ist also eindeutig nicht eingefädelt. : P

Ich habe eine Reihe von Seiten gefunden, die sich mit dem Überschreiben aller Arten von Rückruffunktionen befassen, um sicherzustellen, dass das Layout beim Aufrufen von getWidth geladen wird - aber alle haben Fehler ausgegeben, als ich versucht habe, die Überschreibungen in meine Aktivität aufzunehmen. Ich kann also davon ausgehen, dass es sich um Rückrufe für die zu messenden Layouts und / oder Ansichten handelt. Das Problem dabei ist, dass ich keine benutzerdefinierten Ansichts- / Layoutklassen verwende - nur die Standardklassen. Ich kann also meines Wissens nicht einfach eine Außerkraftsetzung hinzufügen.

Weiß jemand was ich tun soll? Ich habe ungefähr 8 Stunden mit diesem Problem verbracht und bin nirgendwo hingekommen. Und das ist in den meisten Entwicklungsumgebungen normalerweise so trivial!

Antworten auf die Frage(10)

Ihre Antwort auf die Frage