Einzelnen Beitrag anzeigen

philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
859 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Fenstergröße (Android)

  Alt 5. Mai 2021, 12:02
Also bei mir passt die Fenstergröße (auf jetzt 3 Devices geprüft) der Handy-App.
Ich habe das Fenster auch unter Android auf Maximized gestellt, ohne zu wissen, ob es irgendetwas hilft.
Meine App ist aber fest auf Landscape eingestellt, das sollte aber keinen Unterschied machen.
Ich habe auf dem Form ein TLayout und darin dann ein TTabControl bzw. TPanel-Elemente.
Über das Layout kann ich dann ganz gut skalieren.

Die Breite des TabControl setzt ich erst nach dem ersten durchlaufenen FormActivate (und allen darauf folgenden FormResize) wie untenstehend
D.h. im ersten FormResize mache ich noch nichts, weil FormActivate noch nicht abgeschlossen ist.

Delphi-Quellcode:
  xwidth:=self.clientWidth * (1 / layout.scale.X);
  xheight:=self.clientHeight * (1 / layout.scale.Y);

  TabControl.Position.X:=3;
  TabControl.Position.Y:=0;
  TabControl.height:=xheight - 2;
  TabControl.Width:=xwidth - 8; //bzw. -2 wenn TabControl.Position.X:=0 genutzt wird
Ich setze die Position und Größe aller Design-Elemente manuell im Code abhängig von xwidth und xheight.
Ist zwar aufwändig, aber nur so habe ich es wirklich im Griff. Ich nutze an der Stelle also keine automatischen Positionierungen.
Je nach xwidth setze ich zum Teil auch die Font-Größe dann anders. Ist aufwändig, aber so funktioniert bei mir alles bei extrem vielen Design-Elementen.
  Mit Zitat antworten Zitat