2 Stimmen

Wie kann man eine GUI erstellen, die auf allen Windows-Handys funktioniert?

Bis jetzt habe ich den PDA-Emulator in Visual Studios 2008 verwendet (ich verwende Windows mobile 6.1 professional sdk).

Also habe ich die meisten meiner GUI-Komponenten einfach per Drag & Drop in das Formular gezogen. In einem Fall habe ich ein Panel erstellt und in diesem Panel dynamisch Beschriftungen mit bestimmten Positionen erzeugt.

Ich habe es dann auf meinen Hp PAQ 110 Classic pda gelegt und es sah gut aus und alles. Dann habe ich mir die Emulatoren angesehen, einer davon hieß Professional Square. Also entschied ich mich, ihn zu starten, und als er mein Programm ausführte, sah es scheiße aus.

Es fehlten Beschriftungen, Kontrollen und es sah einfach schrecklich aus.

Ich dachte, dass es vielleicht die Größe für mich ändern würde, aber es scheint entweder einen beschissenen Job zu machen oder es tut es überhaupt nicht.

Wie kann man also eine grafische Benutzeroberfläche erstellen, die auf allen Mobiltelefonen (oder zumindest auf der überwiegenden Mehrheit) gut funktioniert?

Gibt es etwa X verschiedene Arten von Mobiltelefonen? Wie der Emulator emuliert ein PDA und es funktioniert auf meinem HP ein, so dass ich davon ausgehe, dass alle Fenster mobile Gerät pdas die gleiche Bildschirmgröße haben.

Die nächste Frage ist, wie Sie die Steuerelemente richtig von einem Gerät zum anderen positionieren? Ich hörte von Menschen mit XML-Dateien, die alle Position, Größen und etc. haben, die sie aufrufen und ich denke, im Wesentlichen die GUI dynamisch auf der Grundlage der Informationen in XML generieren.

Aber ich konnte keine Beispiele dafür finden, wie die XML-Datei aussehen würde, wie man erkennt, um welchen Telefontyp es sich handelt, so dass ich den richtigen Knoten der Datei für dieses Telefon aufrufen könnte.

Ich bin mir nicht sicher, ob es noch andere Möglichkeiten gibt, aber dies scheint besser zu sein als eine Reihe von GUI-Formularen für jedes einzelne.

Wäre es auch empfehlenswert, die meisten Dinge in einem Panel zu haben, so dass man zumindest das automatische Scrollen einschalten kann, auch wenn das Material größer ist.

danke

3voto

cdonner Punkte 35735

Ich habe viel Zeit damit verbracht, mir verschiedene Lösungen für dieses Problem anzusehen (siehe auch hier meine Frage ) und entschied sich für einen pragmatischen Ansatz - die konsequente Nutzung des Andockens. Man muss sich auf den kleinsten gemeinsamen Nenner beschränken, d. h. auf die niedrigste Auflösung, die man unterstützen will, wenn es darum geht, wie viel man auf den Bildschirm bringen kann. Die gute Nachricht war, dass die Raster immer den gesamten verfügbaren Platz ausnutzen und meine Formulare auf allen Geräten korrekt funktionieren und die Bildschirme nicht wie kaputt aussehen.

0voto

kgiannakakis Punkte 100768

Dies ist alles andere als eine leichte Aufgabe. Sie können einige Richtlinien befolgen, aber das einzige, was wirklich funktioniert, ist, die Benutzeroberfläche immer in allen möglichen Bildschirmauflösungen zu testen. Emulatoren sind ein guter Anfang, aber es ist besser, ein echtes Gerät zu haben. Einige Dinge wie Schriftgrößen und Textlesbarkeit können nur auf einem echten Gerät getestet werden. Dies sind also meine Ratschläge:

  • Versuchen Sie, Ihre Kontrollen durch Andocken zu positionieren.
  • Sie müssen in der Lage sein, Orientierungsänderungen richtig zu handhaben. Die Verwendung von Docking hilft, aber auch hier müssen Sie immer mit verschiedenen Bildschirmauflösungen testen.
  • Irgendwann werden Sie feststellen, dass es unumgänglich ist, die Bildschirmgröße zu erkennen und die Benutzeroberfläche dynamisch anzupassen. Ich bin nicht der Meinung, dass man sich darauf beschränken sollte, nur das anzuzeigen, was auf den kleinsten Bildschirm passt. Eine professionelle Anwendung sollte sich an die verfügbare Bildschirmgröße anpassen und sie voll ausnutzen.
  • Strukturieren Sie Ihre Anwendung so, dass neue Bildschirmauflösungen leicht unterstützt werden können. Machen Sie den Hauptcode der Benutzeroberfläche unabhängig von der Bildschirmgröße. Beziehen Sie alle Informationen zur dynamischen Größenänderung und Positionierung aus einer Konfigurationsklasse. Auf diese Weise brauchen Sie nur ein einziges Element in Ihrem Code zu verbessern, um eine neue Bildschirmauflösung zu unterstützen.

Und natürlich:

  • Testen Sie in allen möglichen Bildschirmauflösungen. Testen Sie nach jeder noch so kleinen Änderung an der Benutzeroberfläche erneut.

0voto

chobo2 Punkte 79060

Auch wenn die oben genannten Beiträge hilfreich waren, löst dieses Video, das ich gefunden habe, alle meine Probleme und man muss nicht für den niedrigsten Bildschirm entwickeln.

http://www.microsoft.com/events/series/detail/webcastdetails.aspx?seriesid=86&webcastid=5112

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X