trotz Android 4.1 erscheint option menu statt action bar

  • Themenstarter Themenstarter Gast2
  • Beginndatum Beginndatum
G

Gast2

Gast
Hallo,

folgendes finde ich bei google zum Thema Menü
(Menus | Android Developers):
If you've developed your application for Android 2.3.x and lower, the system calls onCreateOptionsMenu() to create the options menu when the user opens the menu for the first time. If you've developed for Android 3.0 and higher, the system calls onCreateOptionsMenu() when starting the activity, in order to show items to the action bar.​

Ich habe meine Testapp sowohl auf ein Gerät mit Android 2.3, als auch auf einem andren Gerät mit Android 4.1 zu laufen. Auf beiden Geräten wird das Menü klassisch als option menu gezeigt. Sollte es beim neueren Android automatisch als action bar erscheinen?
Hat jemand Erfahrungen damit und kann mir sagen, warum es nicht als action bar erscheint und was zu tun ist, damit es als action bar erscheint?

Herzliche Grüße!
Frank
 

Anhänge

  • Screenshot_2012-11-30-14-07-24.png
    Screenshot_2012-11-30-14-07-24.png
    41,6 KB · Aufrufe: 34
Das habe ich bereits, sieht so aus:
[XML]<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16"
/>[/XML]

Aber wie gesagt, im Gerät mit einer 4er-Version wird es wie bei der 2er angezeigt. 🙁
 
Das kann man für jedes Item im Menu-xml definieren.[/code]

Das verstehe ich nicht. Mein Menü hat doch keine xml.
Also ich kenne das nicht, ein Menü mit xml.

Ich habe public void fillMenu(Menu menu) {...}
und public void onMenuItemSelect(MenuItem item) {...}

damit erzeuge ich das Menü und damit werte ich die Auswahl aus.

Bitte kannst Du mir das genauer erläutern mit dem xml für's Menü?!
 
Definierst Du Deine Menüs aus einem bestimmten Grund im Code? Android ist ja dafür ausgelegt die GUIs als xml zu definieren. Genauso wie Du das UI für Deine Activity als xml definierst kannst Du auch Dein Menü als xml definieren und per MenuInflater laden.

Vermutlich kannst Du die Menüs auch per Code in der ActionBar anzeigen lassen. Allerdings läuft dann die App - zumindest so - nicht unter den 2er Versionen. Bei der Definition per xml ignoriert die 2er einfach das Attribut und die App zeigt das Menü unter der 4er in der ActionBar und unter der 2er als klassischen Optionsmenü an.
Hiermal ein Bsp. für ein Menu mit drei Optionen:
[XML]<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/opt_save"
android:icon="@drawable/ic_menu_save"
android:showAsAction="always"
android:title="@string/opt_save">
</item>
<item
android:id="@+id/opt_delete"
android:icon="@drawable/ic_menu_delete"
android:showAsAction="ifRoom"
android:title="@string/opt_delete">
</item>
<item
android:id="@+id/opt_cancel"
android:icon="@drawable/ic_menu_revert"
android:showAsAction="ifRoom"
android:title="@string/opt_cancel">
</item>
</menu>[/XML]
 

Zurück
Oben