![]() |
Falsche Position von TEdit im Layout (Firemonkey)
Hi allerseits,
ich habe auf einer Form ein TLayout, (Height=40, Align=Top) und in diesem TLayout ein TEdit, das TEdit ist Align=Left. Bei iOS wird die Höhe eines TEdits ja vom Style bestimmt und ist so automatisch 30 und kann nicht geändert werden. Das TEdit sollte am linken Rand des Layouts(X-Position 0) in der Y-Position 5 erscheinen (Layout-Height abzüglich Edit-Heigt durch 2) - tut es aber nicht! Es erscheint im Simulator und auf dem Gerät in Position Y=0 des Layouts, also direkt am oberen Rand. Erst wenn man das Gerät bzw. den Simulator dreht, dann wird das TEdit in die richtige Position mittig verschoben. Das scheint der Resize-des Layouts zu sein, der das korrigiert. Habt Ihr dieses Verhalten auch beobachtet? Und wenn ja, wie habt Ihr es abgestellt? |
AW: Falsche Position von TEdit im Layout (Firemonkey)
Kannst Du die Eigenschaft "Margins.Top" auf den Wert 5 setzen und schauen, was passiert?
Die absolute Positionierung ist plattform-übergreifend eher unglücklich. Ich würde da - ähnlich wie bei HTML - mit Alignments und Margins arbeiten. |
AW: Falsche Position von TEdit im Layout (Firemonkey)
Zitat:
Margins.Top=5 sieht zuerst mal gut aus, das TEdit erscheint da wo ich es erwarte - aber: wenn ich das Gerät jetzt drehe, dann rutscht das TEdit weiter runter in Position 10. Ich muss Margins.Top und Margins.Bottom beide auf 5 setzen, dann sieht es gut aus. Aber eigentlich will ich das ja nicht so, denn wenn ich jetzt nämlich das Layout in der Höhe ändere, dann muss ich auch an diese Margins denken :(. Ich habe inzwischen herausgefunden, dass ich mit
Delphi-Quellcode:
die Position korrigieren kann ohne das Gerät drehen zu müssen.
Layout1.RecalcSize
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz