Download Mobile Anwendungen mit Android

Transcript
KAPITEL 3
Android – Schritt für Schritt
In Verbindung mit Fragmenten kann die Action Bar auch noch die Spur unserer Navigation
per Bread Crumbs verfolgen. Diese Technik wird im Abschnitt über Fragmente näher erläutert.
In Verbindung mit Action Items, die eigentlich ganz normale Menüeinträge des Optionenmenüs der Activitiy (oder des Fragments) sind, können auch Widgets in die Action Bar eingebunden werden. Damit kann z.B. eine Suchbox bereitgestellt werden. Wenn nicht genügend Platz ist, dann kann die Suche weiterhin über den zugehörigen Menüeintrag geöffnet
werden.
Listing 3.79: Zugriff auf die Action View
<item ­
android:actionViewClass="android.widget.SearchView" ­
android:id="@+id/menu_search" ­
android:showAsAction="ifRoom" ­
android:title="@string/searchlabel" ­
android:icon="@android:drawable/ic_menu_search"/>
Listing 3.80: Auszug aus actionbarmenue.xml – Deklarieren einer Action View
Um die Action View innerhalb unserer Activity zu nutzen, z.B. zur Konfiguration der View,
greifen wir innerhalb von onCreateOptionsMenu(…) auf die View zu:
@Override­
public boolean onCreateOptionsMenu(Menu menu) {­
super.onCreateOptionsMenu(menu);­
MenuInflater inflater = getMenuInflater();­
inflater.inflate(R.menu.actionbarmenue, menu);­
SearchManager searchManager = (SearchManager) getSystemService(Context.
SEARCH_SERVICE);­
SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).
getActionView();
searchView.setIconifiedByDefault(false);­
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponen
tName()));­
return true;­
}
In diesem Beispiel konfigurieren wir die SearchView. Wie die Suche konfiguriert und benutzt wird betrachten wir im Zusammenhang mit den Content -Providern, denn die Suche
ergibt ja erst in Verbindung mit gespeicherten Daten wirklich Sinn.
Alternativ zu der Angabe einer Klasse können wir die Action View auch durch eine LayoutRessource definieren:
Listing 3.81: Deklaration eines Layouts für die Action View
<?xml version="1.0" encoding="utf-8"?>­
<menu xmlns:android="http://schemas.android.com/apk/res/android">­
<item android:id="@+id/menu_search"­
android:title="Search"­
android:icon="@drawable/ic_menu_search"­
260
Exclusiv für Besitzer der Zeitschrift c’t „Android 2013“ - nicht zur Weitergabe an Dritte