2012-05-15 11 views
5

Nella mia domanda ho fatto la mia ActionBar, e funziona molto bene.Android Overflow-menu personalizzato (senza ActionBar e nessun MenuButton)

Vorrei tuttavia utilizzare il comportamento dei pulsanti di overflow su ICS-dispositivi senza-tasto menu.

C'è un modo per implementare una consuetudine Overflowbutton in ICS che è separato dalla ActionBar?

Grazie!

+0

per chiarire: voglio sbarazzarsi della barra nera nella parte inferiore con tre punti, e istead attuare la mia versione nel mio ActionBar personalizzato. – DagW

+0

Hai guardato http://developer.android.com/resources/samples/ActionBarCompat/index.html? – techiServices

risposta

19

userSeven7s per lo più con la ListPopupWindow, ma ancora meglio in forma in questo caso è il PopupMenu, che consente di gonfiare uno standard menu.xml. È possibile posizionare il proprio View o Button in alto a destra e nel gestore onClick creare e mostrare un PopupMenu.

Un esempio può essere trovato in ApiDemos> Visualizzazioni> Menu a comparsa. In particolare 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

Perfetto! È disponibile con il pacchetto di compatibilità? – DagW

+1

No e immagino che sarebbe piuttosto difficile fare il backport. Ma in realtà mi consiglia di utilizzare il pulsante del menu esistente sui dispositivi che lo hanno (tutto Android 2.x) e solo utilizzando il menu popup sui dispositivi senza un pulsante del menu, è possibile rilevare questo con http://developer.android. it/reference/android/view/ViewConfiguration.html # hasPermanentMenuKey(). –

+0

ma utilizzando il menu popup non è possibile aggiungere un'icona –

0

Hai guardato ActionBar Sherlock? ABS fornisce supporto barra di azione per tutti i dispositivi con Android 2.1 e versioni successive. L'esempio ActionBarCompat è molto limitato e non supporta i menu di overflow sui dispositivi meno recenti. Assicurati di utilizzare il tema Theme.Sherlock.ForceOverflow per abilitare l'overflow.

http://actionbarsherlock.com/

Si potrebbe anche modificare la libreria QuickAction a fare quello che vuoi.

https://github.com/lorensiuswlt/NewQuickAction

0

Si potrebbe scivolare/scorrere la vostra barra di azione per permettere l'accesso a più opzioni. Metti la tua barra di azione in un HorizontalScrollView.

Si potrebbe anche voler dare un'occhiata a PopupWindow classe here, e la documentazione ListPopupWindowhere. ha

Problemi correlati