Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android ActionBar: mostrar / ocultar las pestañas de forma dinámica?

¿Es posible quitar / restaurar la barra de pestañas de la barra de acción dinámicamente?

Hasta ahora lo hice cambiando el modo de navegación de la barra de acción. He utilizado el siguiente código para eliminar y restaurar la barra de pestañas:

  • Quitar la sombra debajo de la barra de acciones
  • Fragmento anterior visible bajo el nuevo fragmento
  • ActionBarSherlock: abre el submenú con el botón de menú
  • Eliminar el icono y el título de la aplicación de la barra de acción Honeycomb
  • Android - Actionbar Sherlock - Filtro de búsqueda
  • El texto nunca aparece con los iconos en modo vertical en SherlockActionBar
  • @Override public void restoreTabs() { getSupportActionBar() .setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); this.supportInvalidateOptionsMenu(); } @Override public void removeTabs() { getSupportActionBar() .setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); this.supportInvalidateOptionsMenu(); } 

    Eso funciona, pero hay un gran problema: Cada vez que llamo setNavigationMode , onTabSelected se llama en el TabListener y la pestaña opend se recrea.

  • SherlockActionBar: Cómo ajustar CustomView contra actionBar
  • Barra de acción contextual de compatibilidad de Android
  • Icono del recuento de notificaciones de Actionbar (insignia) como Google
  • Android Studio - No se pudo fusionar el manifiesto de Gradle
  • No se puede anular el método final de ActionBarActivity
  • ¿Es necesario actionbarsherlock ya?
  • 3 Solutions collect form web for “Android ActionBar: mostrar / ocultar las pestañas de forma dinámica?”

    Para quitar dinámicamente las pestañas de la barra de acciones, simplemente necesita:

     getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); 

    Para agregarlos al vuelo, simplemente haga lo siguiente:

     getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

    Para el segundo caso, la suposición es que después de configurar el modo de navegación, también agregará pestañas, a la barra de acción, similar a esto:

     for (int resourceId : tabs) { actionBar.addTab(actionBar.newTab().setText(resourceId) .setTabListener(this)); } 
     public void onDrawerClosed(View view) { getActionBar().setTitle(mTitle); // calling onPrepareOptionsMenu() to show action bar icons getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); invalidateOptionsMenu(); } public void onDrawerOpened(View drawerView) { getActionBar().setTitle(mDrawerTitle); // calling onPrepareOptionsMenu() to hide action bar icons getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); invalidateOptionsMenu(); } 

    Esto está funcionando como se pretende, ya que la ficha se está seleccionando porque no estaba apareciendo. Le sugiero que haga por su cuenta el control en TabListener.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.