AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Android-Screen-Orientation zur Runtime setzen?

Android-Screen-Orientation zur Runtime setzen?

Ein Thema von philipp.hofmann · begonnen am 2. Nov 2020 · letzter Beitrag vom 5. Nov 2020
Antwort Antwort
philipp.hofmann

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

Android-Screen-Orientation zur Runtime setzen?

  Alt 2. Nov 2020, 23:25
Hi,

ich habe das Problem, dass ich für meine App die beiden Screen-Orientations
  Application.FormFactor.Orientations := [TFormOrientation.Landscape, TFormOrientation.InvertedLandscape]; über die Projektoptionen zugelassen habe. Trotzdem ist beim FormCreate und FormActivate zumindest beim Start der App die Orientation zuweilen auch eine der beiden Portrait-Orientations.
Ich habe dies mit
  clientScreenService.getScreenOrientation (=IFMXScreenService) gecheckt. Ich finde zwar alte Post, wo die Orientation auch zur Runtime mit
  clientScreenService.setScreenOrientation gesetzt wird, dies scheint aber mittlerweile nicht mehr zu existieren. Ich habe versucht es mit
  clientScreenService.setSupportedScreenOrientations([TScreenOrientation.Landscape]); zu fixen, dies hilft aber auch nicht.

Gibt es irgendeine Chance, wie ich es zur Laufzeit nochmals korrigieren kann
oder was ist der erste Punkt, wo es auch unter Android richtig ist?
Aktuell suche ich einen Punkt, wo sich mein Programm auf meinem Smartphone aufhängt und auf dem Tablet sauber durch läuft und finde es eben befremdlich, dass ich überhaupt in die falsche Orientation laufe.

Grüße, Philipp
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
1.698 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Android-Screen-Orientation zur Runtime setzen?

  Alt 3. Nov 2020, 21:09
Wie äußert sich das Aufhängen? Was steht im Android Logcat Log.
  Mit Zitat antworten Zitat
philipp.hofmann

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

AW: Android-Screen-Orientation zur Runtime setzen?

  Alt 4. Nov 2020, 10:10
Ich sehe in meinen eigenen Logs, dass sich das Programm z.B. beim Setzen der FontSize, um es an die jeweilige Display-Größe anzupassen aufhängt. Dies passiert übrigens nur bei meinem Samsung S10 Smartphone, bei allen anderen Android-Devices läuft dies durch und es gab auch noch nie die Meldung von den Prelaunch-Tests von Google, das es sich aufhängt.

Wenn ich genügend sleep(100) in dem Teil des Codes platziere, der die Größenanpassungen durchführt, funktioniert es.
Daher mein Interesse, dass die Screen-Orientation von Anfang an, korrekt gesetzt ist (so wie es bei Windows, iOS und MacOS auch der Fall ist).
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
1.698 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Android-Screen-Orientation zur Runtime setzen?

  Alt 4. Nov 2020, 20:47
Naja, Delphi schreibt oft Daten ins Android Log die manchmal auf was deuten... Das bekommt "dein" Log vermutlich nicht mit.
  Mit Zitat antworten Zitat
philipp.hofmann

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

AW: Android-Screen-Orientation zur Runtime setzen?

  Alt 5. Nov 2020, 11:04
Hi,

anbei mal zwei logcat-Dateien.
Die erste (noOkay-Variante) weist sehr, sehr viele Einträge wie folgt auf:

Code:
[11-05 10:33:31.313 2682:2682 D/DecorView]
semSetRoundedCorners: 5
immer mal wieder unterbrochen von einem
Code:
[11-05 10:33:37.148 2682:2682 I/ViewRootImpl@5dbb17a[MainActivity]]
ViewPostIme pointer 1
In der zweiten Datei, wo im Code einige Sleep(50) und Sleep(500) eingefügt wurden, sind beide Infos deutlich seltener zu finden.
Einen Reim kann ich mir daraus nicht machen. Wie schon gesagt, ich weiß, dass ich laut meinem Log an der Stelle von Font.Size-Settings aufrufe.

Grüße, Philipp

Grüße, Philipp
Angehängte Dateien
Dateityp: txt logcat_11-05-2020_10-34-53_notOkay.txt (99,5 KB, 1x aufgerufen)
Dateityp: txt logcat_11-05-2020_10-39-35_okay(someSleepRequestsInCode).txt (15,4 KB, 0x aufgerufen)
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
1.698 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Android-Screen-Orientation zur Runtime setzen?

  Alt 5. Nov 2020, 21:07
Kann das in einem minimalen Programm reproduziert werden?
Ist eine aktive Subscription vorhanden?
Falls ja evtl. über das Supportportal auf der EMBT Webseite
einen offiziellen Fall aufmachen, dann meldet sich jemand von EMBT direkt und schaut sich das Mal an.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf