Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Delphi Rotate unter Android funktioniert nicht (https://www.delphipraxis.net/203837-rotate-unter-android-funktioniert-nicht.html)

PiBi7 30. Mär 2020 18:51

Rotate unter Android funktioniert nicht
 
Hi

Ich habe eine Android-App die verschiedene Pages auf TabSheets anzeigt. Alle diese Seiten sollten Portrait dargestellt werden, nur eine sollte Landscape (oder das darauf liegende StringGrid in einem Winkel von 90°) angezeigt werden.

Unter Windows funktionier die Drehung des StringGrid wie erwartet, unter Android jedoch nicht. Bei Android drehen sich zwar die Spalten auch im entsprechenden Winkel, die Breite des darstellenden Spalten-Bereichs verringert sich aber je nach Drehwinkel, bis ca. ab 90° nichts mehr dargestellt wird. Dieses Verhalten ist nicht nur im StringGrid, sondern auch ListBox/ListView. Gibt es eine Möglichkeit diesen "Fehler" zu beheben? Oder kann man die Landscape-Darstellung der App verbieten und nur bei Eintritt auf dieses Tab aktivieren?

Ich kapier die Ausrichtungsoptionen eh nicht so ganz. Eine Aktivierung des Landscape-Mode in den App-Optionen gilt für die ganze App und lässt sich mit dem FormFactor nicht übersteuern.

DX10.2

Danke für eure Hilfe

himitsu 30. Mär 2020 19:13

AW: Rotate unter Android funktioniert nicht
 
Keinen Tab, sondern das auf eine eigene Form, welche im anderen Format angezeigt wird, das sollte problemelos gehen.

Aber eigentlich sollte es möglich sein eine Form in beiden Formaten anzuzeigen.
* auf Drehung reagieren und den Inhalt neu ausrichten lassen
* und auch die Drehung des Displays selbst gezielt anzusteuern


Es wäre zwar einfach nur das Grid gedreht darzustellen, aber z.B. die Tastatur und die Steuerleisten des OS wären dann halt gekippt seitlich, was schon bissl blöd aussähe.

PiBi7 31. Mär 2020 10:07

AW: Rotate unter Android funktioniert nicht
 
Zitat:

Zitat von himitsu (Beitrag 1460867)
Keinen Tab, sondern das auf eine eigene Form, welche im anderen Format angezeigt wird, das sollte problemelos gehen.

Aber eigentlich sollte es möglich sein eine Form in beiden Formaten anzuzeigen.
* auf Drehung reagieren und den Inhalt neu ausrichten lassen
* und auch die Drehung des Displays selbst gezielt anzusteuern


Es wäre zwar einfach nur das Grid gedreht darzustellen, aber z.B. die Tastatur und die Steuerleisten des OS wären dann halt gekippt seitlich, was schon bissl blöd aussähe.

Erst mal danke für deine Antwort.

1. Wie ich geschrieben habe, scheint es nicht einfach zu sein, nur das Grid gedreht darzustellen. Dies ist einfach unter Windows, aber unter Android klappt das mit
Code:
Grid.RotationAngle := 90.0
nicht.

2. Mit dem Drehen des Forms auf Landscape würde es funktionieren, aber wenn ich in den Projektoptionen die Landscape-Ausrichtung aktiviere drehen ALLE Forms, was ich nicht will und keine Option sehe dies pro Form aus-/einzuschalten.


Die ganze Formproblematik ist auch noch etwas komplizierter, da ich das Verfahren von Ray Konopka anwende indem alle Forms zwar eigenständig gezeichnet werden, der Inhalt dieser Forms aber in die Tabsheets "eingeblendet" wird.


Danke und Gruss
Patrik


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz