2012-02-14 1 views
6

Se io definisco i seguenti elementi per la mia barra delle operazioni:definire l'azione articoli barra di overflow

res/menu/action_menu.xml:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:title="label"/> 
    <item android:title="label1"/> 
    <item android:title="label2"/> 
    <item android:title="label3"/> 
    <item android:title="label4"/> 

</menu> 

nella mia attività:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.action_menu, menu); 
    return true; 
} 

Esiste un modo per permettere a me definire alcuni articoli passano alla parte overflow di azioni ? E come si fa?

P.S. Action overflow part è la parte più a destra della barra delle azioni che nasconde alcuni elementi come un menu popup.

+3

il modo in cui hai dichiarato che tutti gli articoli saranno in overflow, è necessario dichiarare con setAsAction per mostrare come azione –

risposta

10

È il contrario. Devi dire esplicitamente al menu quali vuoi nel ActionBar e quale no impostando i flag appropriati

E.g.

Qui android:showAsAction indica come gestirlo. Le opzioni sono

  • sempre
  • ifRoom
  • mai
  • withText

È possibile o le opzioni insieme con il simbolo pipe come "sempre | withText"

Vedere l'androide docs for action bar per più documentazione.

+1

Ottima risposta. Mi ha davvero aiutato a capire come deve essere la Action Bar! Ho una domanda però. Voglio che certe cose vadano solo nella parte di Action Overflow, cioè sotto l'immagine di spin del puntino a 3 punti che Android colloca in alto a destra. Come posso costringerlo a farlo? – Andy

+4

Giusto per chiarire, perché è stato piuttosto difficile trovare questo scritto ovunque, se si imposta showAsAction su "never" verrà spostato nel menu di overflow. (I documenti parlano in molti casi di relegare le azioni non usate frequentemente nell'overflow, ma da nessuna parte con alcun indizio su come farlo accadere ... Anche se sospetti showAsAction, i documenti ufficiali dicono "mai: non posizionare mai questo oggetto nella barra delle azioni. "- non rendono chiaro dove va, se non altrove.Nota anche su alcuni dispositivi il" overflow "può finire sotto il pulsante Menu fisico invece della barra delle azioni.) – Brandyn

8

Per aggiungere qualcosa alla risposta di Heiko sul "menu di overflow" sulla barra delle azioni, ciò accade solo se si dispone di elementi impostati come seRoom e non vi è spazio per la visualizzazione. Nel menu di overflow appaiono solo con un titolo e nessuna icona.

Su Android 4.0, il menu di overflow ("3 punti di selezione") viene visualizzato solo sui dispositivi che non dispongono del pulsante fisico "menu". Puoi testarlo su ADV impostando l'opzione Hardware Back/Home keys option su "no".

+3

" Per aggiungere qualcosa alla risposta di Heiko riguardo al "menu di overflow" sulla barra delle azioni, ciò accade solo se hai elementi impostati come seRoom e non c'è spazio per la loro visualizzazione. " - o se si imposta "mai" indipendentemente dal fatto che ci sia spazio. – Brandyn