18. Juni 2014

In eigener Sache: Android-Library "AndroidSeekBarPreference"

Gemäß den Design-Richtlinien des mobilen Betriebssystems "Android" werden die Einstellungen einer App als sogenannte "Preferenes" angeboten. Die Android-API, die für die Entwicklung von Apps zur Verfügung steht, bietet eine Reihe solcher Preferences, wie beispielsweise solche zur benutzerdefinierten Eingabe mittels Textfelder oder zur Auswahl eines Wertes aus einer vorgegebenen Liste, an. Eine Preference zur Auswahl eines Zahlenwertes aus einem kontinuierlichen Zahlenbereich mittels eines Schiebereglers, einer sogenannten SeekBar fehlt der API jedoch. Die Android-Library "AndroidSeekBarPreference" schließt diese Lücke, indem sie die Implementierung einer solchen Funktionalität, einschließlich vielseitiger Konfigurationsmöglichkeiten anbietet. Eine Preference, die mit Hilfe der Library umgesetzt wurde, erlaubt es, wie es durch den unten stehenden Screenshot verdeutlicht wird, einen Auswahldialog zu öffnen mit dessen Hilfe es möglich ist, einen Fließkommawert oder einen ganzzahligen Wert aus einem vorgegebenen Wertebereich zu wählen. Der ausgewählte Wert wird dabei erst übernommen, wenn der Benutzer die Auswahl bestätigt. Daneben besteht auch die Möglichkeit, den Dialog zu beenden, ohne die getätigte Änderung zu übernehmen.

Das Erscheinungsbild einer Preference der Library "AndroidSeekBarPreference" (Klicken zum Vergrößern)

Die Library unterstützt dabei die folgenden Funktionen:
  • Erlaubt es, einen Fließkommawert oder einen ganzzahligen Wert aus einem kontinuierlichen Wertebereich mittels einer SeekBar zu wählen.
  • Die Anzahl der Dezimalstellen der Fließkommawerte, die durch die Preference ausgewählt werden können sollen, kann vorgegeben werden. Wenn die Anzahl der Dezimalstellen auf 0 gesetzt wird, können stattdessen nur ganzzahlige Werte ausgewählt werden.
  • Der Wertebereich, bzw. der minimale und maximale Wert, kann frei gewählt werden. 
  • Der Dialog, der dem Benutzer zur Auswahl des Wertes angezeigt wird, kann eine frei wählbare Nachricht beinhalten.
  • Der ausgewählte Wert wird erst übernommen, wenn der Benutzer die Auswahl bestätigt. Daneben besteht auch die Möglichkeit, den Dialog zu beenden, ohne die getätigte Änderung zu übernehmen.
  • Es ist möglich, eine Schrittweite zu definieren. Wenn die SeekBar von dem Benutzer bewegt wird, wird der aktuelle Wert um diese Schrittweise erhöht, bzw. erniedrigt.
  • Die Anzeige des aktuell gewählten Wertes kann dahingehend konfiguriert werden, dass eine Einheit definiert werden kann, die zur Ausgabe an den eigentlichen Wert angehängt wird und dass das Symbol, das zur Trennung von Fließkommazahlen genutzt wird, frei gewählt werden kann.
  • Die Unterschrift der Preference kann abhängig von dem aktuell ausgewählten Wert gewählt werden. Alternativ kann auch der gewählte Wert selbst angezeigt werden.
  • Das Erscheinungsbild der Preference entspricht dem der, von der Android-API bereits angebotenen, Preferences.
Die Library kann über diese Projektseite auf Sourceforge bezogen werden. Der Quellcode wird unter der GLPL 3-Lizenz veröffentlicht und steht über ein Mercurial-Repository bereit. Unter diesem Link finden sich die JUnit-Tests der Library und unter diesem Link wird eine Beispielanwendung angeboten, die zu Präsentationszwecken Gebrauch von der Library macht.

Weiterführende Links:


Keine Kommentare:

Kommentar veröffentlichen