AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fragen zu FMX unter Android

Ein Thema von greenmile · begonnen am 2. Jun 2014 · letzter Beitrag vom 20. Aug 2014
Antwort Antwort
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#1

AW: Fragen zu FMX unter Android

  Alt 3. Jun 2014, 10:06
Es gibt doch Unterschiede zwischen XE5 und XE6. In XE6 hat sich wirklich was getan, so hätte es von Anfang an sein müssen.
Es macht schon Spaß zu sehen, wie die Anwendung mit wenig Aufwand mal eben auf einer anderen Plattform läuft; wenn auch teilweise recht langsam.

Ich raffe FMX aber noch nicht so richtig. Ich habe eine Anwendung für das Galaxy S4 designed, verwende nur original Labels, Checkboxen usw. mit original Eigenschaften (Style). Ich bin jetzt davon ausgegangen, dass, wenn ich die App auf einem Galaxy Tab laufen lasse, alles gleich aussieht. Während aber auf dem S4 z.B. die hälfte des Bildschirms mit Texten gefüllt wird, braucht derselbe Text auf dem Galaxy Tab nur 1/3, es wird also nicht hochskaliert. Irgendwas übersehe ich. Oder verstehe ich falsch.

Geändert von greenmile ( 3. Jun 2014 um 14:35 Uhr)
  Mit Zitat antworten Zitat
Darlo

Registriert seit: 28. Jul 2008
Ort: München
1.196 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: Fragen zu FMX unter Android

  Alt 4. Jun 2014, 10:38
Ich glaube nicht, dass eine automatische Skalierung funktioniert, bzw. dass es diese gibt. Wir machen immer zwei Designs, eins für Phone und eins für Tablet.
Meist sieht ein Phone-Design, primär im Hochformat, auf einem Tablet, das gerne im Querformat genutzt wird, schrecklich aus.
Philip
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Fragen zu FMX unter Android

  Alt 4. Jun 2014, 10:42
Machst Du dafür jedesmal ein neues Projekt? Oder wie habt ihr die verschiedenen Screens voneinander getrennt?
  Mit Zitat antworten Zitat
Darlo

Registriert seit: 28. Jul 2008
Ort: München
1.196 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#4

AW: Fragen zu FMX unter Android

  Alt 4. Jun 2014, 10:45
Alles im einem Projekt. Das Mainformular ist leer. Dann wird beim starten der App geprüft ob Hoch- oder Querformat und ob es eher ein Tablet oder ein Phone ist.
Je nach Ergebnis wird dann der Inhalt von dem entsprechendem Design-Formular geladen.
Philip
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#5

AW: Fragen zu FMX unter Android

  Alt 5. Jun 2014, 17:08
Ich frage in der DPR Datei ab, ob es sich um ein Tablet oder ein Smartphone handelt und lade dann das entsprechende Formular :
Delphi-Quellcode:
function IsPad: Boolean;
begin
{$IFDEF IOS}
  Result := TUIDevice.Wrap(TUIDevice.OCClass.currentDevice).userInterfaceIdiom = UIUserInterfaceIdiomPad;
{$ENDIF}
{$IFDEF ANDROID}
  Result := (MainActivity.getResources.getConfiguration.screenLayout and TJConfiguration.JavaClass.SCREENLAYOUT_SIZE_MASK)
    >= TJConfiguration.JavaClass.SCREENLAYOUT_SIZE_LARGE;
{$ENDIF}
Die Funktion gibt Dir für iOS und Android zurück, ob es sich um ein Tablet oder ein Smartphone handelt.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Fragen zu FMX unter Android

  Alt 6. Jun 2014, 12:48
Also zwei Forms für eine Anwendung. Und wie handelt ihr den Source (was sich hinter "Button1 verbirgt") sowie die verschiedenen Auflösungen eines Pads? TScaledLayout?
TScaledLayout funktioniert zwar, es sieht aber ziemlich gestrecht aus, also irgendwie ... komisch.
  Mit Zitat antworten Zitat
Darlo

Registriert seit: 28. Jul 2008
Ort: München
1.196 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#7

AW: Fragen zu FMX unter Android

  Alt 6. Jun 2014, 13:03
Und wie handelt ihr den Source (was sich hinter "Button1 verbirgt")
Über eine ActionList.
Philip
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Fragen zu FMX unter Android

  Alt 11. Jun 2014, 15:18
Ich frage in der DPR Datei ab, ob es sich um ein Tablet oder ein Smartphone handelt und lade dann das entsprechende Formular :
Delphi-Quellcode:
function IsPad: Boolean;
begin
{$IFDEF IOS}
  Result := TUIDevice.Wrap(TUIDevice.OCClass.currentDevice).userInterfaceIdiom = UIUserInterfaceIdiomPad;
{$ENDIF}
{$IFDEF ANDROID}
  Result := (MainActivity.getResources.getConfiguration.screenLayout and TJConfiguration.JavaClass.SCREENLAYOUT_SIZE_MASK)
    >= TJConfiguration.JavaClass.SCREENLAYOUT_SIZE_LARGE;
{$ENDIF}
Die Funktion gibt Dir für iOS und Android zurück, ob es sich um ein Tablet oder ein Smartphone handelt.
Ist vielleicht eine blöde Frage, aber wie hast Du das realisiert? Wenn ich eine zweite Form mit .Show anzeige, dann klappt das nicht 100%. Oder handelst Du das direkt in der DPR?
  Mit Zitat antworten Zitat
Benutzerbild von MEissing
MEissing

Registriert seit: 19. Jan 2005
Ort: Egelsbach
1.384 Beiträge
 
Delphi 12 Athens
 
#9

AW: Fragen zu FMX unter Android

  Alt 11. Jun 2014, 15:40
Siehe PhotoEditorDemo
http://docwiki.embarcadero.com/CodeE...ample_(Delphi)
Matthias Eißing
cu://Matthias.Eißing.de [Embarcadero]
Kein Support per PN
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#10

AW: Fragen zu FMX unter Android

  Alt 11. Jun 2014, 18:40
Ist vielleicht eine blöde Frage, aber wie hast Du das realisiert? Wenn ich eine zweite Form mit .Show anzeige, dann klappt das nicht 100%. Oder handelst Du das direkt in der DPR?
Ich handel das direkt in der DPR ab, so zum Beispiel :
Delphi-Quellcode:
{$R *.res}

////////////////////////////////////////////////////////////////////////////////
///
/// To check if the app is running on a Pad
///
function IsPad: Boolean;
begin
{$IFDEF IOS}
  Result := TUIDevice.Wrap(TUIDevice.OCClass.currentDevice).userInterfaceIdiom = UIUserInterfaceIdiomPad;
{$ENDIF}
{$IFDEF ANDROID}
  Result := (MainActivity.getResources.getConfiguration.screenLayout and TJConfiguration.JavaClass.SCREENLAYOUT_SIZE_MASK)
    >= TJConfiguration.JavaClass.SCREENLAYOUT_SIZE_LARGE;
{$ENDIF}
end;
////////////////////////////////////////////////////////////////////////////////
///
/// Main Program
///
begin
  Application.Initialize;
  Application.FormFactor.Orientations := [TFormOrientation.Portrait, TFormOrientation.InvertedPortrait,
                                          TFormOrientation.Landscape, TFormOrientation.InvertedLandscape];
  if IsPad then
    Application.CreateForm(TPadMainForm, PadMainForm)
  else
    Application.CreateForm(TPhoneMainForm, PhoneMainForm);
  Application.Run;
end.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04: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