przyciskach, czy komunikaty wyświetlane użytkownikowi, najlepiej zapisywać w pliku strings.xml katalogu res/values (w strukturze projektu programu Eclipse).
1 0Override
2 public boolean onCreateOptionsMenu(Menu menu){
3
4 // wczytywanie menu z plików zasobów, res/menu/menu.xml
5 Menulnflater inflater = getMenuInflater();
6 inflater.inflate(R.menu.menu, menu);
7 return true;
8
9 )
Listing 5.2 Kod w języku Java odpowiedzialny za wyświetlenie menu. wersja dniga. Źródło własne.
1 Cmenu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:androidl="http://schemas.android.com/apk/res/android">
<item androidl:id="0+id/options"
2 androidl:title="0pcje"
3 android:icon="0drawable/options" />
4 <item androidl:id="0+id/history"
5 androidl:title="Historia obliczeń"
6 android:icon="0drawable/history" />
7 <item androidl:id="0+id/functions"
8 androidl:title="Obsługiwane funkcje"
9 android:icon="0drawable/function"/>
10 <item androidl:id="0+id/save"
11 androidl:title="Zapisz działanie"
12 android:icon="0drawable/save" />
13 Citem androidl:id="0+id/about"
14 androidl:title="0 programie..."
15 android:icon="0drawable/about" />
16 citem androidl:title="Zakończ"
17 androidl:id="0+id/exit"
18 android:icon="0drawable/exit" />
19 </menu>
Listing 5.3 Zawartość pliku menu.xml znajdującego się w katalogu res/menu. odpowiedzialnego za utworzenie menu wraz z ikonami. Źródło własne.
Kolejnym powodem, dla którego dobrze jest zastosować drugi sposób, to wsparcie dla ikon dla elementów menu i większa możliwość konfiguracji elementów menu, takich jak np. submenu.
Drugim sposobem na utworzenie menu, jest właśnie zapisanie go w pliku xml w postaci odpowiednich struktur. Wczytywanie takiego pliku zostało przedstawione we wcześniejszym listingu (Listing 5.2), natomiast zawartość menu - w następnym (Listing 5.3).
Drugi kod tworzenia menu jest mniej skomplikowany i bardziej przejrzysty, niż pierwszy, dlatego autor zdecydował się na właśnie jego wykorzystanie. Z tego powodu, iż w programie może być używane kilka różnych menu, w linijce numer 6 (Listing 5.2) utworzone jest odwołanie do właściwego menu poprzez jego nazwę.
W przedstawionym kodzie (Listing 5.3) widać dokładnie sposób, w jaki menu jest zbudowane. Elementy o id androidl: id przechowują identyfikatory danej opcji, aby móc się później do niego odwołać (chociażby podczas wybrania jej z menu, aby wykonać odpowiednią operację). Kolejnym elementem jest androidl: title, zawierający tekst, który wyświetlany jest na danej opcji menu, natomiast zmienna android: icon zawiera odnośnik do nazwy pliku, który służy jako ikonka danego elementu menu. Dokładnie ten kod, odpowiedzialny jest za wyświetlenie menu, które znajduje się na Rys 5.5.
19