Android-Aktionsleiste zeigt keinen Überlauf an
Habe ich eine Menüleiste in mein Programm mit 3 Elementen.
Nur 2 angezeigt werden kann, aufgrund von Platzgründen, so würde ich erwarten, dass der erste angezeigt werden und der rest zur Anzeige in den überlauf.
In der Praxis jedoch nur die ersten 2 Elemente angezeigt werden und es gibt keinen überlauf nachweisbar.
Hier ist der relevante code:
list_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/menu_insert"
android:icon="@android:drawable/ic_menu_add"
android:title="@string/menu_insert"
android:showAsAction="ifRoom|withText"/>
<item android:id="@+id/menu_call"
android:icon="@android:drawable/ic_menu_call"
android:title="@string/menu_call"
android:showAsAction="ifRoom|withText"/>
<item android:id="@+id/menu_agenda"
android:icon="@android:drawable/ic_menu_agenda"
android:title="@string/menu_agenda"
android:showAsAction="ifRoom|withText"/>
</menu>
Activity.java
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater mi = getMenuInflater();
mi.inflate(R.menu.list_menu, menu);
return true;
}
Kommentar zu dem Problem
Wenn Ihr Gerät hat ein Menü-button, wird das overflow-Symbol wird nicht angezeigt. Welchem Gerät Sie auf? Kommentarautor: Reinier
das virtuelle Gerät, das ich Teste, hat einen Menü-Taste in der Tat, klickte es und das fehlende Element zeigte sich, danke! Kommentarautor: Mats Raemen
@Reinier ich bin mit ActionBarSherlock. Auf dem Galaxy Ace läuft 2.3 es wird gezeigt, auf Galaxy SII läuft 4.0 auch nicht gezeigt. Beide haben ein HW-Menü-Taste. Kommentarautor: Mister Smith
Ich wollte nur bestätigen, es hatte mich verblüfft, ich hatte das überlauf-Symbol auf einem nexus 7 kaufen, die nicht auf Galaxy Note II. Den Hinweis hatte eine Menü-Taste. Danke! Kommentarautor: bsautner
@Reinier bitte helfen ich vor dem gleichen Problem, was soll ich tun? Kommentarautor: rup35h
InformationsquelleAutor der Frage Mats Raemen | 2012-03-16
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wollen, um die drei Punkte, unabhängig von Gerät Menü-Taste! dann rufen Sie diese Methode in Ihrer Anwendung Klasse' onCreate-Methode-
InformationsquelleAutor der Antwort Atul Kaushik
res/menu/menu.xml
MainActivity.java
Laden Sie die Action Bar Icon Set
InformationsquelleAutor der Antwort Kirit Vaghela
Ich weiß, dies ist nicht ein überlauf-Menü, aber es ist ähnlich.
Okay, das ist einfach, aber war schwer herauszufinden.
Müssen Sie zuerst einen Menüpunkt, den Sie verwenden möchten, wie der überlauf inflater. Beispiel
Sobald Sie Ihren Eintrag, fügen Sie ein sub-Menü enthält Ihre Artikel, die Sie wollen in der overflow-Menü. Beispiel:
Klicken Sie auf das aufblasen anderer Gegenstände innerhalb. Meine Anwendung ist mit ActionBarSherlock 4.0 also vor dies für Sie zu arbeiten, müssen Sie Zugriff auf die "SplitActionBar". (Wird immer noch funktionieren, die auf Standard-android Actionbar)
Hier ist, wie:
In Ihrem AndroidManifest.xml Datei, müssen Sie fügen Sie diesen code unter der Aktivität müssen Sie das overflow-Menü an.
HINWEIS: Ihrem Element, das bläst Ihre overflow-Menü MUSS
showAsAction="always"
Vwola! Sie haben einen overflow-Menü! Hoffe, dass ich Ihnen geholfen. 🙂
InformationsquelleAutor der Antwort LeviRockerSk8er
Auf Geräten mit hardware-Menü-buttons (Galaxy S3, stur wie Samsung...) das overflow-Menü verhält sich wie die "traditionellen" - Menü, mit dem hardware-Menü-Taste.
InformationsquelleAutor der Antwort Lukas Batteau
Wenn Sie sagen, "overflow" - Menü, meinst du die drei Punkte, die zeigen, bis in das Ende, um anzuzeigen, dass es mehr items.... oder meinst du die split-actionbar-das zeigt sich in der unteren overflow-Elemente?
Wenn du meinst die split action bar, sollten Sie fügen Sie diese an Ihre Aktivität manifest-Datei
Standardmäßig die drei Punkte overflow-Menü sollte automatisch geschehen, so ist es schwer zu sagen, was das problem ist, aus den Informationen, die Sie zur Verfügung gestellt oben.
InformationsquelleAutor der Antwort wnafee
Immer show action overflow (die drei Punkt) auf actionbarcompat:
im Menü Datei, Beispiel:
main.xml
und in der Aktivität Datei:
Es funktionierte gut für mich.
Getestet auf Google Nexus S, Samsung S3.
InformationsquelleAutor der Antwort MrSiro
Scheint es, dass auf Geräte mit einem Menü-button Menü "überlauf" nicht in der ActionBar. Auch wir haben keine Möglichkeit zu wissen, wenn ein Gerät hat einen hardware-Menü-Taste vor - API level 14 (4.0+).
Dieser Lösung fügt einen überlauf-Schaltfläche, um eine
android.support.v7.app.ActionBar
, öffnet sich das standard-Menü "Optionen" auf pre-Honeycomb (<3.0) nur, sonst verlässt es das system. In jedem Fall können Sie wählen zwischenalways
oderifRoom
für alle Aktionen.Bekommen das überlauf-Symbol aus der Action Bar Icon Pack.
Fügen Sie ein Menü (ich'omitting einige nicht-relevante Teile wie Titel, Bestellung etc).
Entfernen unsere overflow-Aktion auf 3.0+
Schließlich rufen
Activity.openOptionsMenu()
aus dem überlauf Aktion.Äh... Nein. Sie können nicht nennen
openOptionsMenu()
aus einem Menü-button... aber wenn Sie mit AndroidAnnotations Sie fertig sind einfach:Wenn nicht, sollten Sie so etwas tun, nehme ich an
InformationsquelleAutor der Antwort IlDan
Versuchen Sie, ändern der Thema der app aus
Thema.AppCompat.Licht.DarkActionBar zum Thema.AppCompat.Licht
InformationsquelleAutor der Antwort Sagar Devanga
Setzen
xmlns:your_app_name="http://schemas.android.com/apk/res-auto"
im inneren Menü-tagund statt
android:showAsAction="always"
verwendenyour_app_name:showAsAction="always"
zB
InformationsquelleAutor der Antwort Rashmi Jain