Moin Daniel,
jep, wurde beides zwei mal angezeigt
Dann guck ich nochmal, warum die andere Meldung auch 2x kam.
OK, dann kommt noch dazu das wenn ich das Telefon drehe, die Anzeige nicht auf das neue Seitenverhältnis eingestellt wird, sprich ich starte im landscape strte ist alles i.O. beim wechsel zum portrait wird das Bild nicht angepasst, wenn ich andersrum starte ist es gas gleiche. Vorschlag: das Drehen ganz verhindern. Shcike dir per mail ein paar screenshots
Ich fürchte, das Drehen kann ich nicht verhindern, denn das macht das Betriebssystem, und mein Programm steht dann einfach vor der Situation, daß sich auf einmal das Seitenverhältnis des Bildschirms geändert hat.
Aber wenn Du z.B. einen Wert eingrägst und sich der Bildschirm danach neu aufbaut, wird alles wieder korrekt dargestellt? Dann mußte ich mal veruschen, das Drehen wenigstens sofort zu erkennen und den Bildschirmaufbau danach gleich neu zu triggern. Ich habe allerdings noch keinen Schimmer, wie das gehen kann.
Als Notlösung fielen mir zwei Ansätze ein:
1. Ich erkenne das Drehen daran, daß ich die Bildschirmauflösung zyklisch abfrage. Das wird allerdings etwas auf die Performance des Programms gehen.
2. Ich erkenne das Drehen gar nicht, sondern stelle einen Hotkey für screen-refresh bereit. D.h. wenn Du das Telefon gedreht hast, drückst Du noch z.B. die Taste "5" und alles ist wieder gut. Nicht schön, aber selten.
Was wohl leider nicht geht, ist, daß ich im Landscape-Modus nach Erkennen des Drehens den C-Diary-Bildschirm wieder hochformatig aufbaue. Da sich das ganze Koordinatensystem, auf dem ich den Bildschirm aufbaue, mitdreht, müßte ich alle Koordinaten ändern bzw. x und y vertauschen. Dann schreib ich lieber ins Handbuch, daß ein "S60 5th edition"-Gerät nicht gedreht werden sollte ;-)
Oder gibt es einen guten Grund, warum man bei der Benutzung von C-Diary das Gerät drehen sollte?
Viele Grüße,
Daniel