2012-05-15 12 views
5

In meiner Anwendung habe ich meine eigene Actionbar gemacht, und es funktioniert sehr gut.Android benutzerdefinierte Überlauf-Menü (Ohne Aktionsleiste und kein Menubutton)

Ich möchte jedoch das Verhalten der Überlauftasten bei ICS-Geräten ohne Menü-Taste verwenden.

Gibt es eine Möglichkeit, eine benutzerdefinierte Overflowbutton in ICS zu implementieren, die von der Aktionsleiste getrennt ist?

Danke!

+0

Zur Klarstellung: Ich möchte loswerden der schwarzen Leiste auf der Unterseite mit drei Punkten und istead implementieren meine eigene Version in meiner benutzerdefinierten ActionBar. – DagW

+0

Haben Sie http://developer.android.com/resources/samples/ActionBarCompat/index.html angeschaut? – techiServices

Antwort

19

userSeven7s meist hat es mit dem ListPopupWindow, aber noch besser in diesem Fall passen die PopupMenu, die Ihnen einen Standard menu.xml aufzublasen ermöglicht. Sie können Ihre eigenen View oder Button in der oberen rechten Ecke und in der onClick Handler erstellen und zeigen Sie ein PopupMenu.

Ein Beispiel finden Sie in ApiDemos> Ansichten> Popup-Menü. Insbesondere PopupMenu1.java:

public void onPopupButtonClick(View button) { 
    PopupMenu popup = new PopupMenu(this, button); 
    popup.getMenuInflater().inflate(R.menu.popup, popup.getMenu()); 

    popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { 
     public boolean onMenuItemClick(MenuItem item) { 
      Toast.makeText(PopupMenu1.this, "Clicked popup menu item " + item.getTitle(), 
       Toast.LENGTH_SHORT).show(); 
      return true; 
     } 
    }); 

    popup.show(); 
} 
+0

Perfekt! Ist es mit dem Kompatibilitätspaket verfügbar? – DagW

+1

Nein, und ich kann mir vorstellen, dass es ziemlich schwierig wäre, Backport zu betreiben. Aber ich würde empfehlen, nur die vorhandene Menü-Taste auf Geräten verwenden, die es (alle Android 2.x) und nur das Popup-Menü auf Geräten ohne eine Menü-Taste verwenden, können Sie dies mit http://developer.android erkennen. com/Verweis/android/view/ViewConfiguration.html # hasPermanentMenuKey(). –

+0

, aber mithilfe des Popup-Menüs können Sie kein Symbol hinzufügen –

0

Haben Sie sich ActionBar Sherlock angesehen? ABS bietet Aktionsleiste Unterstützung für alle Geräte Android 2.1 und höher. Das ActionBarCompat-Beispiel ist sehr eingeschränkt und unterstützt keine Überlaufmenüs auf älteren Geräten. Stellen Sie sicher, dass Sie das Design Theme.Sherlock.ForceOverflow verwenden, um den Überlauf zu aktivieren.

http://actionbarsherlock.com/

Sie könnten auch die Bibliothek-Schnell ändern zu tun, was Sie wollen.

https://github.com/lorensiuswlt/NewQuickAction

0

Sie schieben könnte/blättern Aktionsleiste Zugriff auf mehr Optionen zu lassen. Setzen Sie Ihre Aktionsleiste in einem HorizontalScrollView.

Sie könnten auch einen Blick auf PopupWindow Klasse nehmen wollen here und ListPopupWindow Dokumentation here.

Verwandte Themen