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


Barra de Acción de Android Sherlock con Tabs

Introduzca aquí la descripción de la imagen

Estoy tratando de implementar ActionBar Sherlock con pestañas por debajo de la que se muestra en el marco de alambre anterior.

  • Importación de google-play-services lib en Intellij IDEA 12 (y 13)
  • Abrir el cajón de navegación cuando se presiona el botón del menú de opciones
  • Mezcla de TabListener, ActionBarSherlock Fragment y ListFragment, PageAdapter? Un desastre
  • SherlockActionBar: Cómo ajustar CustomView contra actionBar
  • Barra de acción contextual de compatibilidad de Android
  • Cómo cambiar HomeButton Hilight Color cuando presione
  • ¿Debo usar TabActivity? – ya que vi que es obsoleto. Cuál es la mejor manera de lograr lo mismo.

  • Desplácese la página cuando el teclado suaves aparece
  • Gen ya existe pero no es una carpeta de origen
  • El clic no está funcionando en el Listtext de Listitem android
  • Aplicación para supervisar otras aplicaciones en android
  • ¿Diferencia entre adjustResize y adjustPan en android?
  • ¿Por qué requestLayout se llama directamente después de invalidar
  • 2 Solutions collect form web for “Barra de Acción de Android Sherlock con Tabs”

    Implementé esta funcionalidad con una SherlockFragmentActivity como contenedor tabview y con SherlockFragment como tabulaciones. Aquí hay un boceto (he omitido las cosas habituales de la actividad de Android):

    Esta es la actividad de tabulación con dos pestañas:

     public class TabViewActivity extends SherlockFragmentActivity { // store the active tab here public static String ACTIVE_TAB = "activeTab"; @Override public void onCreate(Bundle savedInstanceState) { .. final ActionBar actionBar = getSupportActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); // add the first tab which is an instance of TabFragment1 Tab tab1 = actionBar.newTab() .setText("TabTitle1") .setTabListener(new TabListener<TabFragment1>( this, "tab1", TabFragment1.class)); actionBar.addTab(tab1); // add the second tab which is an instance of TabFragment2 Tab tab2 = actionBar.newTab() .setText("TabTitle2") .setTabListener(new TabListener<TabFragment2>( this, "tab2", TabFragment2.class)); actionBar.addTab(tab2); // check if there is a saved state to select active tab if( savedInstanceState != null ){ getSupportActionBar().setSelectedNavigationItem( savedInstanceState.getInt(ACTIVE_TAB)); } } @Override protected void onSaveInstanceState(Bundle outState) { // save active tab outState.putInt(ACTIVE_TAB, getSupportActionBar().getSelectedNavigationIndex()); super.onSaveInstanceState(outState); } } 

    Y este es el TabFragment que contiene el contenido de una pestaña:

     public class TabFragment extends SherlockFragment { // your member variables here @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment View view = inflater.inflate(R.layout.fragment_va_esh, container, false); ... // do your view initialization here return view; } } 

    Y finalmente este es el TabListener que maneja interruptores de ficha:

     public class TabListener<T extends Fragment> implements ActionBar.TabListener{ private TabFragment mFragment; private final Activity mActivity; private final String mTag; private final Class<T> mClass; public TabListener(Activity activity, String tag, Class<T> clz) { mActivity = activity; mTag = tag; mClass = clz; } public void onTabSelected(Tab tab, FragmentTransaction ft) { // Check if the fragment is already initialized if (mFragment == null) { // If not, instantiate and add it to the activity mFragment = (TabFragment) Fragment.instantiate( mActivity, mClass.getName()); mFragment.setProviderId(mTag); // id for event provider ft.add(android.R.id.content, mFragment, mTag); } else { // If it exists, simply attach it in order to show it ft.attach(mFragment); } } public void onTabUnselected(Tab tab, FragmentTransaction ft) { if (mFragment != null) { // Detach the fragment, because another one is being attached ft.detach(mFragment); } } public void onTabReselected(Tab tab, FragmentTransaction ft) { // User selected the already selected tab. Usually do nothing. } } 

    Creo TabActivity está en desuso a favor de usar Fragmentos – no porque la navegación con pestañas es un concepto obsoleto. Simplemente use Fragmentos y un TabWidget.

    También, aquí hay una pregunta similar .

    Editar:

    Aquí hay un ejemplo de cortesía de Google: Android Tabs the Fragment Way

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