Um die Verweise auf Ressourcen aufzulösen, definieren wir die Texte. Einträge an: Farbwert an:

Ähnliche Dokumente
5.5 Schaltflächen und Menüs

5 Oberflächengestaltung

Das in Abb. 2 und Abb. 3 dargestellte Kombinationsfeld (Abb. 2 roter Kreis) wurde mit Hilfe des Kombinationsfeld-Assistenten

Start. 34 Symbolleiste einrichten. Wissen

3 VOREINSTELLUNGEN ANPASSEN

Handout. E-Learning-Szenarien. an der Heinrich-Heine-Universität

Datenbank konfigurieren

Einführung in Android (2) 16. Dezember 2014

Checkliste: Konfiguration eines Datenraums nach einem Upgrade von Brainloop Secure Dataroom von Version 8.10 auf 8.20

DAS EINSTEIGERSEMINAR

Seiten anlegen, ändern, verschieben und löschen

Windows 7. Der Desktop und seine Elemente. Der Desktop

Content Management System (CMS) Manual

Mein eigenes Wörterbuch Lehrerhandbuch. Verwaltung von Wörterbüchern. Hinzufügen eines Wörterbuches. Verändern der generellen Daten des Wörterbuchs

14. Es ist alles Ansichtssache

Novell. GroupWise 2014 effizient einsetzen. Peter Wies. 1. Ausgabe, Juni 2014

Alle alltäglichen Aufgaben können auch über das Frontend durchgeführt werden, das in den anderen Anleitungen erläutert wird.

1.28 HYPERLINKS EINFÜGEN

Wie lege ich Menüeinträge in Joomla 3.x an?

RÖK Typo3 Dokumentation

Freigeben des Posteingangs oder des Kalenders in Outlook

Information zur Konzeptberatungs-Schnittstelle

Inhalt. 2 RÖK Typo3 Dokumentation

Dokumentation. Content-Manager

3 VOREINSTELLUNGEN ANPASSEN

In diesem ersten Kapitel erhalten Sie einen Überblick über das Programm Microsoft PowerPoint 2003.

AplusixAdmin : Administration von Aplusix 3 Benutzerhandbuch

Software. Die Erste. C o m p u t e r G r u n d w i s s e n Te i l I I. S o f t w a r e. H a r d w a r e. C D / D V D B r e n n e n.

Arbeiten mit einem Touchscreen. Voraussetzungen. Ein letztes Wort. Zur Beispieldatenbank

RÖK Typo3 Dokumentation

Alerts für Microsoft CRM 4.0

Becker Content Manager Inhalt

Hierfür sind mit dem Content Management System (CMS) Joomla in Verbindung mit SIGE Pro Inhalte angelegt worden, die genau diesen Zweck erfüllen.

32.4 Anpassen von Menüs und Symbolleisten 795i

Handbuch ECDL 2003 Modul 5: Datenbank Formulare anpassen

Handbuch Kapitel 2: Dokumente verwalten

SharePoint Schnittstelle für Microsoft Dynamics CRM 2011

1.1 Basiswissen Fensterbedienung

Effektiver Umstieg auf Office Thomas Alker, Konrad Stulle UM-O2010

Anleitung zur Benutzung des Admin Control Panel

Anleitung zum Importieren, Durchführen und Auswerten von Umfragen in Blackboard

Handbuch Website. Handbuch Redakteure Fakultät. Handbuch Website. CMS TYPO3 (Version 4.6) Dokument-Version: 1.0

1 Was ist ein Portfolio? Ein Portfolio anlegen... 4

Wiki in ILIAS. 1. Funktionen für Kurs- und Gruppenmitglieder. (für Kurs- und Gruppenadministratoren) Themen: 1.1. In den Bearbeitungsmodus wechseln

Anwendertreffen März 2010

Die Cargo Plattform bietet einen sicheren und einfachen Datentransfer mit einem modernen Web- Interface.

Seiten und Navigationspunkte

Handbuch Kapitel 2: Dokumente verwalten

Sie möchten einen neuen Termin im Kalender anlegen:

Newsletter. 1 Erzbistum Köln Newsletter

bea Client-Security herunterladen und installieren unter Windows

Formulare. Datenbankanwendung 113

Anlegen von Nutzer mit der BSA (BenutzerSelbstAufnahme)

Kurzanleitung creator 2.0

Innovator 11 excellence. Anbindung an Visual Studio. Einführung, Installation und Konfiguration. Connect. Roland Patka.

Corporate Design Packager

Literaturrecherche und Erstellung von Literaturlisten

Kurzanleitung creator 2.0

Word. Verweise. Textmarken, Querverweise, Hyperlinks

Technische Dokumentation Abstimmungs-/ Anwesenheitsliste

1 Allgemeines zur CommSy-Leiste Meine Portfolios Meine Widgets Meine Ablage Mein Kalender Meine Kopien...

(3) Button-Klick & Texteingabe

ChanSort installieren

Special Boxes. Modul für xt:commerce Veyton. Plugin-Funktionen... Systemvoraussetzung... Template-Anpassung...

Anleitung zur Pflege der Homepage über den Raiffeisen-Homepage-Manager

Kennen, können, beherrschen lernen was gebraucht wird

Voice Mail Dienst Regeln

ODDS-TV. ... die zukunftssichere Lösung für den modernen Wettanbieter!

zur Verfügung gestellt durch das OpenOffice.org Dokumentations-Projekt

Anleitung für Fachlehrkräfte zur

3 Maps richtig ablegen und

Dynamic Art. Benutzerhandbuch

> Internet Explorer 8

Office Integration. M. Friedrichs, DEVWARE GmbH

In der Modulverwaltung werden sowohl neue Module angelegt, als auch Bestehende verwaltet.

5.2 - Verwaltung der externen Kontakte

pd-admin v4.x Erste Schritte für Reseller

Adventskalender. Best Practice. Schritt für Schritt Dokumentation. Wie Sie einen Adventskalender einrichten. Stand:

Quickline Cloud Apps

Inhaltsverzeichnisse. 1. Überschriften zuweisen. 2. Seitenzahlen einfügen. 3. Einen Seitenwechsel einfügen

Dell Display Manager Benutzerhandbuch

Advoware - e.consult WebAkte

Anleitung zur Verwendung von Silverstripe 3.x

Einleitung Installation Arbeiten mit Menüs Arbeiten mit Knoten Konfiguration Beschreibung Menübaum...

Favoriten speichern und verwalten im Internetexplorer 7.x

Version Pädagogische Hochschule Freiburg, Peter Huppertz

Animationen anzeigen und erstellen

DIE TASKLEISTE VON WINDOWS 10

Arbeitsmappe. Die Arbeitsblatt-Register. 31 Die Arbeitsblatt-Register 32 Der Umgang mit Arbeitsmappen 34 Mustervorlagen. ADer Einstieg in Excel 2000

PepperShop Social Bookmarking Anleitung

Faulhaber Schulmaster Admin

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:

SCHULSPEZIFISCHEN ROLLENRECHTE

Manual. Informationen zur Handhabung der WetterApplikation. Andreas Schmidt Oktober 2015

Markus Mandalka Einführung in die Fotoverwaltung mit JPhotoTagger. Version vom 6. September Inhaltsverzeichnis

Arbeiten mit Acrobat. Vorstellung von Adobe Acrobat Bearbeitung des Dokuments Präsentationen erstellen Teamarbeit

Innovator 2009 excellence. Anbindung an Eclipse. Einführung, Installation und Konfiguration. Connect. Roland Patka.

disigner Bedienungsanleitung Version 1.0, 26. Mai 2010

Transkript:

efi Um die Verweise auf Ressourcen aufzulösen, definieren wir die Texte in der Datei. Dortlegenwirdiefolgenden Einträge an: efi Ebenso legen wir in der Datei den referenzierten Farbwert an: Listing 5-11 setzt ebenfalls voraus, dass im Ordner eine Datei mit Namen amando_logo liegt. Wir haben nun die Verbindung von Ressourcen, Layout und Views hergestellt und eine komplette Anzeigeseite entwickelt. Unsere Schaltflächen sind jedoch noch ohne Funktion. Dies ist unter anderem Thema des nächsten Abschnitts. Mit zunehmender Beliebtheit von berührungsempfindlichen Bildschirmen (engl. touch screens) immobilgerätebereichstelltsichfürentwickler die Frage, auf welche Weise sie die Navigation zwischen den Bildschirmseiten am anwenderfreundlichsten gestalten. Es gibt zwar häufig noch eine Menütaste bei älteren Android- Geräten, aber neuere Geräte haben sie nicht mehr. Dort ist die Menütaste, wenn sie überhaupt von der Anwendung gebraucht und dargestellt wird, ein Teil der Oberfläche. Die Steuerung der Anwendung sollte in den allermeisten Fällen über Schaltflächen auf der Oberfläche

geschehen. Probleme treten hier erst auf, wenn zu viele Auswahlmöglichkeiten angeboten werden. Eine Bildschirmseite mit vielen Schaltflächen wird schnell unübersichtlich. Weniger häufig genutzte allgemeine Funktionen, wie beispielsweise Hilfe oder Einstellungen können dann im Menü untergebracht werden. Für unser Projekt legen wir daher die folgende Implementierungsrichtlinie fest: Wir ziehen die Verwendung von Schaltflächen zur Bildschirmnavigation der klassischen Menütasten-Navigation vor, wenn auf dem Bildschirm genug Platz dafür ist. Die Steuerung über Menütasten sollte nur für Standardfunktionen (Einstellungen ändern, Programm beenden etc.) verwendet werden. fl Am Ende des Abschnitts Views haben wir die Definition von Schaltflächen schon kennengelernt. Hier ein Ausschnitt des n-layouts zur Auffrischung: Statt eines Textes können Schaltflächen ein Piktogramm (engl. icon) anzeigen. Dazu definiert man anstatt eines im Layout einen, wieimfolgendenbeispiel:

Der Ressourcenschlüssel verweist auf die Piktogramm-Datei im Ordner. Falls aussagekräftige Piktogramme zur Verfügung stehen, sollte man diese gegenüber Textbeschriftungen vorziehen, nicht zuletzt wegen der Platzersparnis. Falls Sie eigene Piktogramme entwerfen wollen, finden Sie Hilfestellungen in der Android-Referenz. Die Richtlinie zur Gestaltung von Piktogrammen (engl. Icon Design Guidelines) [25]beschreibteineVorgehensweise zum Erstellen verschiedener Piktogrammarten. Für Anwender von Photoshop und Illustrator steht außerdem ein Paket von Vorlagen als Android Icon Template Pack zum Herunterladen bereit. Der ist nett, jedoch leider ohne Funktion. Das wollen wir ändern: Bei Betätigung der Schaltfläche wollen wir im Quelltext eine Aktion ausführen. An dieser Stelle soll später die Bildschirmseite mit der Liste der Geokontakte aufgerufen werden. Seit Android API 1.6 ist das mit sehr wenig Quelltext umsetzbar; das API bietet dafür das XML-Attribut an, in dem die aufzurufende Methode der Activity angegeben wird. Wir definieren zunächst eine Methode mit aussagekräftigem Namen in der -Activity: fl Einen Klick auf eine Schaltfläche schickt Android als Ereignis an den registrierten Beobachter (engl. listener, observer). Die in einem solchen Beobachter-Interface deklarierten Methoden bezeichnet man auch als Callback-Methoden. DiewichtigstenEreignisbeobachter sind in Tabelle 5-21 aufgelistet.

fi Der vorliegende Abschnitt behandelt die Erscheinungsformen und die Definition von Menüs im Allgemeinen. In Android werden zwei Arten von Menüs angeboten: Optionsmenüs sind Menüs, die über die Menütaste des Geräts aktiviert werden. Pro Activity existiert ein Optionsmenü (Abb. 5-3 links). Kontextmenüs lassen sich durch längeres Anklicken von Bildschirmelementen (Schaltflächen, Eingabefelder etc.) aktivieren. Für jede View kann ein Kontextmenü definiert werden (Abb. 5-3 rechts). Die Richtlinie zur Android-Oberflächengestaltung [43] empfiehlt, Programmfunktionen immer über Schaltflächen oder Menütasten zugänglich zu machen und Kontextmenüs nur als zusätzlichen Weg anzubieten. Für unsere Anwendung bedeutet das zum Beispiel: Wir stellen der Startseite ein Optionsmenü mit den Einträgen Einstellungen, Hilfe und Beenden zur Verfügung. Die Schaltfläche Geokontakte verwalten erhält ein Kontextmenü, über das sich eine Hilfeseite aufrufen lässt, die die Funktion hinter der Schaltfläche erklärt. fl fi Menüs werden als XML-Ressourcen oder als Java-Code definiert. Wird die Definition per XML durchgeführt, muss dafür eine Datei im Ressourcenverzeichnis angelegt werden. Listing 5-12 zeigt die Definition für das Menü der Amando-Startseite (Abb. 5-3 links). Diese Definition speichern wir als -Datei ab. Wir empfehlen, jeweils eine Datei pro Menü und ein Menü pro Activity anzulegen, wobei man den Dateinamen von der Layoutdefinition übernehmen sollte.

Diese Definition der Menüinhalte ist sowohl für ein Options- als auch für ein Kontextmenü nutzbar. Pro -Element muss das Attribut mit dem Wert belegt werden, über den der beschriebene Menüeintrag später ausgewertet werden soll. Als Alternative oder Ergänzung der Textdarstellung können für die ersten fünf Einträge eines Optionsmenüs Piktogramme verwendet werden. Man sollte nur kleine, klar unterscheidbare Grafiken einsetzen. Ab Android API 1.5 können die Standard-Menüpiktogramme auf einfache Weise aus der eigenen Anwendung genutzt werden. Der Zugriff erfolgt über den Pfad. Einige davon sehen Sie hier in den Menüdefinitionen, eine Tabelle aller verfügbaren Piktogramme finden Sie in der Android-Piktogramm-Gestaltungsrichtlinie [25]. Die Tabelle 5-22 gibt eine Übersicht wichtiger Attribute des -Elements. Die vollständige Attributliste ist Teil der API- Dokumentation. Nach dieser allgemeinen Einleitung wollen wir uns die beiden Menüarten genauer ansehen. Jede Activity hat ihr eigenes Optionsmenü. Menüeinträge werden in der Reihenfolge ihrer Definition angezeigt. Falls mehr als fünf Einträge dargestellt werden sollen, wird automatisch ein künstliches More... 1 - Element eingefügt, welches die verbleibenden Auswahloptionen als Liste sichtbar macht. Abbildung 5-4 zeigt eine solche lange Optionsliste. Lange Optionsmenüs lassen sich nicht so schnell und komfortabel bedienen wie kürzere. Man sollte daher weitgehend auf sie verzichten. 1 Der Text hängt von der Spracheinstellung des Geräts ab.

Die Definition der Menüeinträge des Optionsmenüs einer Activity findet in der Methode der Activity statt. Listing 5-13 zeigt den Quelltext für das Hauptmenü in der - Activity. Dabei muss lediglich die Referenz auf die Menü-Ressource angegeben werden. Der Activity Manager des Betriebssystems ruft nach Erstellung der Activity durch auf. Hier sollte immer die Methode der Oberklasse aufgerufen werden. Damit kann Android zusätzliche Menüeinträge hinzufügen. Wählt der Anwender eine Menüoption aus, wird die Methode aufgerufen. Dort wird das gewünschte ermittelt und auf die Auswahl reagiert. In Listing 5-14 ist ein Ausschnitt der Implementierung für die -Activity abgedruckt.

Analog zu den Oberflächenereignissen gibt die Implementierung zurück, wenn das Optionsauswahlereignis verbraucht wurde. Im Standardfall wird an die Oberklasse delegiert. Für jedes Element einer Bildschirmseite kann ein Kontextmenü definiert werden. Dieses erscheint, sobald der Anwender mit der Auswahltaste länger auf das betroffene Bildschirmelement klickt (Long-Click Events). Die Verknüpfung zwischen Kontextmenü und Bezugsobjekt wird in der zugrunde liegenden Activity hergestellt. Kontextmenüs werden pro Aufruf neu gefüllt, Optionsmenüs nur einmal bei Erzeugung ihrer Activity. Es werden immer alle Einträge eines Kontextmenüsangezeigt.Reicht der Platz nicht aus, so wird automatisch eine Bildlaufleiste (engl. scrollbar) aktiviert.daserschwertdiebedienungderanwendung,sodass man lange Kontextmenüs vermeiden sollte. Die Zuweisung eines Kontextmenüs zu einer View erfolgt in zwei Stufen. Als Erstes wird die View bei ihrer Activity für die Verwendung eines Kontextmenüs registriert. Das Listing 5-15 registriert die Liste der -Activity mit dem Schlüssel.

Damit allein ist das Menü allerdings noch nicht aktiviert. Die Menüoptionen müssen noch zugewiesen werden. Dieser Schritt ist in Listing 5-16 beschrieben. Jede Activity bietet dazu die Methode an. Diese ist für die Befüllung aller Kontextmenüs der ihr zugewiesenen Bildschirmseite zuständig. wird aufgerufen, sobald ein Long-Click Event auf einer für Kontextmenüs registrierten View ausgelöst wurde. Das in Amando erscheinende Kontextmenü zeigt die Abbildung 5-4 (rechts). Wird nun ein dieses Kontextmenüs ausgewählt, so wird vom System die Methode aufgerufen. Dort kann auf die gewählte Option reagiert werden (Listing 5-17). In unserem Beispiel hängt das Kontextmenü an einer Schaltfläche. Anhand unterschiedlicher s wissenwirimmer,umwelcheview es sich handelt. Anders verhält es sich, wenn man den Einträgen in einer Liste ein Kontextmenü zuweisen möchte. Auch Listen sind Views. Wenn einer Liste ein Kontextmenü zugewiesen wird, wird das Kontextmenü automatisch an jeden Listeneintrag angehängt. Enthält diese Liste beispielsweise die Titel zuvor ausgewählter Musikstücke, so möchte man vor dem Abspielen vielleicht doch noch einzelne Titel aus der Liste löschen. Jeder Eintrag soll ein Kontextmenü mit dem löschen erhalten. Wird löschen für einen Listeneintrag angeklickt, so müssen wir bei der Auswertung wissen, um welchen Titel es sich handelt.

Die Antwort liefern die Attribute von, inunseremfallderschlüssel. Listing 5-18 zeigt eine neue Version für die Auswertung, die um den nötigen Quelltext ergänzt wurde. In manchen Fällen reicht die statische Definition der Menüs nicht aus. Es wäre wünschenswert, wenn man einzelne Optionen während des Anwendungslaufs aktivieren, deaktivieren oder komplett verbergen könnte. Die Darstellungsform einzelner -Elemente sollte also während des Programmlaufs verändert werden können. Eine Lösung besteht darin, Menüs nicht als Ressource, sondern direkt im Java-Code zu definieren und zu konfigurieren. Die Android-API sieht dafür die Klasse vor. Das folgende Listing 5-19 aus der -Activity zeigt, wie ein Optionsmenü anhand dieser Klasse definiert wird:

Die Menüdefinitionen über XML und Java schließen sich nicht gegenseitig aus, sondern können nach Belieben kombiniert werden. Anstatt dynamisch per Java Menüeinträge hinzuzufügen, kann zum Beispiel ein Menü-Inflater ein längeres Menü statisch erzeugen, aus dem per Java einzelne Einträge gelöscht werden. Für die Veränderung eines Optionsmenüs sieht das Android API die Methode vor. Sie wird vor jeder Anzeige des Optionsmenüs aufgerufen. Listing 5-20 zeigt, wie in der -Activity die Menüoption für die Hilfe deaktiviert werden könnte. Indem wir die Menüoption nur deaktivieren, anstatt sie zu löschen, müssen wir sie im umgekehrten Fall nicht erzeugen und hinzufügen. Außerdem folgen wir damit der Empfehlung der Richtlinie zur Android- Oberflächengestaltung [43], die Struktur von Optionsmenüs beizubehalten. Menüs führen den Nutzer durch die Anwendung. Sie sollten deshalb normalerweise von vornherein klar definiert werden können. Daher empfehlen wir, Menüs weitgehend in XML zu definieren und sie nur in Ausnahmefällen im Java-Quelltext zu realisieren. Zugriff In den letzten Abschnitten haben wir uns mit der Erstellung von Bildschirmseiten beschäftigt. Wir haben Oberflächenelemente auf einer Seite angeordnet und haben diese von einer Activity auf dem Bildschirm darstellen lassen. Wir haben gesehen, wie man verschiedene Arten von Menüs definiert und auf die Berührung einer Schaltfläche reagiert. Was uns jetzt noch fehlt, ist der Zugriff auf View-Elemente. In diesem Abschnitt lernen wir, wie man auf die Werte von Views zugreift. Wir sprechen von Formularen, wennderanwenderzueiner Eingabe auf dem Bildschirm aufgefordert wird. Für Formulare gibt es verschiedene Views, die Anwendereingaben erlauben. Umgekehrt wird man öfter die Werte in einer View setzen oder austauschen wollen. Auch dann müssen wir im Programm Zugriff auf diese View erhalten und anschließend den Wert setzen.