2012-10-14 15 views
7

Voglio usare un'attività in due modiActionBar Android - rimuovendo l'ActionBar dinamicamente

  1. Essa mostra un elenco di elementi che possono essere modificati, quelli nuovi aggiunti ecc
  2. Essa mostra l'elenco delle voci in per sceglierne uno

Come la logica principale dell'attività è visualizzare l'elenco di elementi che vorrei gestire questi due casi nella stessa attività. Tuttavia nel 1. Voglio mostrare la barra delle azioni in modo che l'utente possa navigare da lì a dove desiderato. Nel caso 2. Non voglio che venga mostrata alcuna barra di azione, tutto ciò che l'utente può fare è scegliere un oggetto o premere cancel/back.

Qual è il modo migliore per raggiungere questo obiettivo. La mia prima ipotesi sarebbe di due temi che ho impostato dinamicamente quale dei due casi è richiesto. Ma mi chiedo se c'è anche un modo per rimuovere facilmente la barra di azione dallo schermo a livello di codice che mi salverà dal dichiarare due temi, ecc. Qualsiasi suggerimento su come gestire questo requisito sarebbe molto utile.

Grazie

risposta

2

Se si desidera rimuovere effettivamente la barra delle azioni (non crearlo in primo luogo) al contrario di crealo ma poi nascondilo subito, puoi farlo via temi o tramite codice.

Via tema o attributi stile:

utilizzare uno dei temi del sistema predefinire come Theme.Holo.NoActionBar o sue varianti. Questo è il modo più semplice per farlo.

Se si desidera definire utilizzando attributi all'interno del vostro tema personalizzato, allora si potrebbe fare questo:

<resources> 
    <style name="MyTheme" parent="some_parent_theme"> 
     <item name="android:windowNoTitle">true</item> 
     <item name="android:windowActionBar">false</item> 
     <item name="android:windowFullscreen">true</item> 
    </style> 
</resources> 

Ora aggiungere questo tema per la vostra attività o applicazione.

Via codice (assicuratevi di chiamare prima setContentView in Activity.onCreate):

requestWindowFeature(Window.FEATURE_NO_TITLE); 
Problemi correlati