2011-12-15 14 views
10

Quiero crear un ActionBar y una navegación con pestañas, como la aplicación google +.Botón y pestañas Android ActionBar

que utiliza este ejemplo como punto de partida y ahora tengo una gran actionbar:

También he incluido un ViewPager y una TabHost tener pestañas y desplazarse a la izquierda/Fragmentos correctos.

Lo que necesito es mostrar la flecha hacia atrás en la versión anterior a honeycomb. Si configuro getActionBar().setDisplayHomeAsUpEnabled(true), la flecha se muestra automáticamente en la versión> = nido de abeja.

  • ¿Cómo puedo hacer eso en la versión anterior a la miel?

Lo que también quieren tener aquí es como el Google + app.

Así es como se ve mi barra de pestañas:

eliminado ImageShack vínculo roto

... y esto es lo que quiero:

enlace eliminado ImageShack muertos

No encuentro ningún ejemplo para diseñar barras de pestañas como esa.

+0

use su vista personalizada en su barra de acciones –

Respuesta

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

// utilizar la vista XML personalizado aquí

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

// la lógica de clic listner

setListenerForActionBarCustomView(actionBarView); 
21

Yo te recomendaría el ActionBarSherlock Barra de acciones para la compatibilidad con Android < 3. Es una mejor implementación que el ejemplo ofrecido en la página de desarrolladores.

Con este paquete, la flecha hacia atrás aparecerá cuando agregue a su actividad la siguiente línea.

getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

En cuanto a las pestañas Google+, he encontrado el widget ViewFlow muy útil y se ve exactamente lo mismo. Además, no tienes problemas de compatibilidad con versiones anteriores. Eche un vistazo al ejemplo CircleFlowIndicator.

+0

También existe la biblioteca ViewPagerIndicator que puede usar para las pestañas, proporcionada por la misma persona que ActionBarSherlock –

4

Puede usar ActionBarSherlock y ViewPager con ViewPagerIndicator para lograr el aspecto deseado. Estas bibliotecas también funcionan antes de ICS.

Como se sugirió miguel.rodelas, use getSupportActionBar(). SetDisplayHomeAsUpEnabled (true) para la flecha de inicio. En onOptionsItemSelected puede atraparlo con el id android.R.id.home.

2

Como se ha indicado, descargar el ActionBarSherlock e importarlo como una biblioteca aquí https://api.github.com/repos/JakeWharton/ActionBarSherlock/zipball/4.2.0

  • En lugar de utilizar getActionBar utilizar getSupportActionBar
  • descargar la biblioteca de soporte
  • En lugar de la actividad, se extienden a su clase como SherlockActivity
  • Lo mismo con fragmentos, use SherlockFragment

Luego copie su código, debería funcionar perfectamente.

Cuestiones relacionadas