May
21

Ansprechende Oberflächen auf mobilen Endgeräten

Mit den Bordmitteln von Windows Mobile ist es kaum möglich, ansprechende Oberflächen umzusetzen. Ergebnisse mit den Standard-GUI-Elementen haben Windows 2.0 Niveau.

Entwickler, die vor diesem Problem stehen, bekommen mit den AlphaMobileControls einen gutes Hilfsmittel an die Hand.

Die AlphaMobileControls sind eine Bibliothek von Komponenten die mittels Alpha-Blending dargestellt werden. Damit sind der Phantasie von Desingern fast keine Grenzen gesetzt – und die Entwickler können Sie umsetzen. Auf der Homepage der AlphaMobileControls finden sich zwei einfache Beispiel-Screenshots.

Beim Einsatz der Bibliothek bin ich auf zwei Probleme gestoßen:

  1. Die GetImageMethode hat unter Windows Mobile 5 einen Fehler beim Auslesen von Daten aus PNG-Bildern
    http://support.microsoft.com/?scid=kb%3Ben-us%3B923812&x=15&y=14
    PNG-Bilder, die als externe Dateien vorliegen, konnte ich bei meiner Entwicklung fehlerfrei darstellen. Sobald diese allerdings als Resource in die Applikation eingebettet, so tritt der im Microsoft-Artikel beschriebene Fehler (0×80004005) auf.
    Alternativ könnte man auf GIF-Dateien für die Darstellung wechseln – mit dem Nachteil, dass kein echtes Alpha-Blending möglich ist.
  2. Die AlphaMobileControls arbeiten bei der Darstellung mit Double-Buffering um ein Flackern zu verhindern.
    Diese benötigen bei einer Vollbild-Applikation von 320×240 Pixel ca. 600 KByte (bei 32 Bit Farbtiefe) – und zwar pro Dialog.
    Der Speicherbedarf für eine komplexere Applikation steigt damit ziemlich schnell an.

    Werden ausschließlich Forms gleicher Größe verwendet – und wird immer genau ein Dialog dargestellt – so reicht  im AlphaContainer die Variable _backBuffer statisch zu machen, so dass diese von allen Dialogen verwendet wird:

         ///

    Back buffer used for double buffering.


         private static Bitmap _backBuffer;

Die Ergebnisse lassen sich auf jeden Fall sehen!