![]() |
FMX Android/Windows Anleitung oder Demo gesucht für Auflösungsanpassungen
Hallo Leute,
ich arbeite mich im Moment in das FMX ein, ich möchte eine Anwendung für Windows und Android erstellen. Gibt es ein gutes Demo oder eine Anleitung wie man die Benutzeroberfläche anpasst beim drehen des Bildschirms anderes Gerät mit anderer Auflösung? Ich habe schon fleissig gegoogelt, aber noch nichts passendes gefunden. Gruß Thorsten |
AW: FMX Android/Windows Anleitung oder Demo gesucht für Auflösungsanpassungen
Hallo Thorsten,
mit einem ausführlichen Tutorial kann ich Dir nicht dienen. Aber vielleicht bringt Dich dieser Betrag etwas weiter: ![]() Die Möglichkeiten, die Dir Layouts, Multiresbitmaps und die Properties Align, Anchors, Margin, Padding bieten, sind Dir bekannt? Ich habe einige EBooks durchgefräst. Ich komme zu den Fazit, dass Bücher dort Enden wo die Probleme anfangen. Das Buch von Andrea Magni fand ich noch am besten. ![]() Hier mein Code, mit dem ich mir über die Informationen über das Gerät anzeigen lasse, auf dem meine App läuft. Das hat mir geholfen, die Zusammenhänge zwischen logischen und physikalischen Koordinaten, Screenscale, Bitmapscale und Zoomfaktor des Tablets zu verstehen.
Delphi-Quellcode:
Grüße vom FMX Anfänger
procedure TfrmSystemInfo.FormCreate(Sender: TObject);
Var ScreenSvc:IFMXScreenService; W,H:Integer; DevMet:IFMXDeviceMetricsService; DspMet:TDeviceDisplayMetrics; Device:IFMXDeviceService; SO:TScreenOrientation; begin ShowDeviceInfo; DevMet:=IFMXDeviceMetricsService(TPlatformServices.Current.GetPlatformService(IFMXDeviceMetricsService)); Device:=IFMXDeviceService(TPlatformServices.Current.GetPlatformService(IFMXDeviceService)); ScreenSvc:=IFMXScreenService(TPlatformServices.Current.GetPlatformService(IFMXScreenService)); DspMet:=DevMet.GetDisplayMetrics; LTouchScreen.Visible:=(TDeviceFeature.HasTouchScreen in Device.GetFeatures); LPhysicalSize.Text:=Format('Width %d x Height %d', [DspMet.PhysicalScreenSize.cx,DspMet.PhysicalScreenSize.cy]); LRawSize.Text:=Format('Width %d x Height %d', [DspMet.RawScreenSize.cx,DspMet.RawScreenSize.cy]); LLogicalMetricsSize.Text:=Format('Width %d x Height %d',[DspMet.LogicalScreenSize.cx,DspMet.LogicalScreenSize.cy]); LLogicalScreenSize.Text:=Format('Width %.0f x Height %.0f',[Screen.Size.cx,Screen.Size.cy]); LLogicalDeviceSize.Text:=Format('Width %.0f x Height %.0f',[ScreenSvc.GetScreenSize.X,ScreenSvc.GetScreenSize.Y]); LScreenScale.Text:=Format('%f', [DspMet.ScreenScale]); LFontScale.Text:=Format('%f', [DspMet.FontScale]); LAspectRatio.Text:=Format('%f', [DspMet.AspectRatio]); SO:= ScreenSvc.GetScreenOrientation; case SO of TScreenOrientation.Portrait: LOrientation.Text:='Portrait'; TScreenOrientation.Landscape: LOrientation.Text:='Landscape'; TScreenOrientation.InvertedPortrait: LOrientation.Text:='InvertedPortrait'; TScreenOrientation.InvertedLandscape: LOrientation.Text:='InvertedLandscape'; else LOrientation.Text:='Unknown'; end; end; |
AW: FMX Android/Windows Anleitung oder Demo gesucht für Auflösungsanpassungen
Hallo Rapunzel,
vielen Dank. Ich schaue mir das mal in Ruhe an. >> Die Möglichkeiten, die Dir Layouts, Multiresbitmaps >> und die Properties Align, Anchors, Margin, Padding bieten, >> sind Dir bekannt? Teilweise schon, aber aber ich finde keinen richtigen Ansatz für folgende Probleme um das Ganze irgendwie intuitiv zu gestalten. Ich habe meine App mit Tabcontrols und Tabitems ausgestattet, hochkant sieht es recht gut aus, wenn ich aber das Tablet oder Handy drehe habe ich ja meine Button's/Edit's weiter unten sitzen. Mein Problem ist nun bei einer Eingabe mit der Tastatur wird das Eingabefeld verdeckt, man schreibt also blind. Ich stelle mir das eigentlich so vor, das bei der Eingabe die Tastatur von unten aufpoppt und dann aber das Eingabefeld / Screen nach oben über die eingeblendete Tastatur rutscht, damit man dieses Feld bei der Eingabe auch sieht. Das muss doch irgendwo zu aktivieren sein, meinetwegen auch über das hochziehen mit den Fingern. Aber ich bekomme das nicht brauchbar hin. Gerade wenn die Inhalte auf dem Tabcontrol weiter gehen als der Screen, dann müsste es doch eigentlich über einen ziehen der Finger über den Bildschirm nach oben gehen. Wie bekommt man sowas brauchbar hin. Das Buch habe ich mir schon gekauft ;-) und bin gerade beim lesen. Ich meine bei Windows kann ich bei einem kleineren Bildschirm/Fenster Scrollbars einblenden, unter Android müsste dies doch mit den Fingern machbar sein. Gruß Thorsten |
AW: FMX Android/Windows Anleitung oder Demo gesucht für Auflösungsanpassungen
Hallo,
das erste, was du dir für dieses Problem anschauen solltest ist die TVertScrollbox Komponente. Die hat bei Bedarf einen Scrollbar. Dann hat gibt es einen Keyboard oder KDb oder so FMX-Service über den kannst du per Events mitbekommen, wenn die tastatur geöffnet und geschlossen wird. Soviel mal heute Nacht dazu. Grüße TurboMagic |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:47 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