2011-12-15 17 views
10

Voglio creare un ActionBar e una navigazione a schede come l'app di Google +.Android backbutton e schede Android

Ho usato questo esempio come punto di partenza e ora ho un grande ActionBar:

Ho anche incluso un ViewPager e un TabHost di avere schede e lo scorrimento a sinistra/frammenti di destra.

Quello che mi serve è mostrare la freccia posteriore nella versione precedente al nido d'ape. Se si imposta getActionBar().setDisplayHomeAsUpEnabled(true), la freccia viene automaticamente visualizzata nella versione> = a nido d'ape.

  • Come posso farlo nella versione precedente al miele?

quello che voglio anche avere è schede come la google + app.

Questo è come è il mio bar scheda appare:

rimosso ImageShack morti collegamento

... e questo è quello che voglio:

collegamento rimosso ImageShack morti

Non riesco a trovare alcun esempio per impostare tab barre come quella.

+0

utilizza la visualizzazione personalizzata nella barra delle azioni –

risposta

3
ActionBar actionBar = getActionBar(); 
     actionBar.setDisplayShowHomeEnabled(false); 
     actionBar.setDisplayShowTitleEnabled(false); 

// utilizzare la visualizzazione XML personalizzato qui

View actionBarView = getLayoutInflater().inflate(R.layout.action_bar_custom_view, null); 
     actionBar.setCustomView(actionBarView); 
     actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); 

// la logica per click listner

setListenerForActionBarCustomView(actionBarView); 
21

ti consiglierei la ActionBarSherlock per la compatibilità con Android ActionBar < 3. È un'implementazione migliore che l'esempio offre nella pagina degli sviluppatori.

Utilizzando questo pacchetto, la freccia posteriore verrà visualizzata quando si aggiunge alla propria attività la seguente riga.

getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

Per quanto riguarda le schede Google+, ho trovato il widget di ViewFlow molto utile e guardare esattamente lo stesso. Inoltre, non si hanno problemi di compatibilità con le versioni precedenti. Dai un'occhiata all'esempio di CircleFlowIndicator.

+0

C'è anche la libreria ViewPagerIndicator che è possibile utilizzare per le schede, fornita dalla stessa persona di ActionBarSherlock –

4

È possibile utilizzare ActionBarSherlock e un ViewPager con ViewPagerIndicator per ottenere l'aspetto desiderato. Queste librerie funzionano anche pre ICS.

Come suggerito da miguel.rodelas, utilizzare getSupportActionBar(). SetDisplayHomeAsUpEnabled (true) per la home arrow. In onOptionsItemSelected puoi prenderlo dall'id android.R.id.home.

2

Come detto, scaricare l'ActionBarSherlock e importarlo come una libreria qui https://api.github.com/repos/JakeWharton/ActionBarSherlock/zipball/4.2.0

  • Invece di usare getActionBar utilizzare getSupportActionBar
  • Scarica la libreria di supporto
  • Invece di attività, estendere la classe come SherlockActivity
  • Uguale a frammenti, utilizzare SherlockFragment

Quindi basta copiare il codice, dovrebbe funzionare perfettamente.