poner pestañas en la parte inferior de la pantalla

Quiero poner pestañas en la parte inferior de mi pantalla. Para este propósito tengo el código siguiente:

package info.androidhive.tabsswipe; import info.androidhive.tabsswipe.adapter.TabsPagerAdapter; import android.app.ActionBar; import android.app.ActionBar.Tab; import android.app.FragmentTransaction; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.view.ViewPager; public class MainActivity extends FragmentActivity implements ActionBar.TabListener { private ViewPager viewPager; private TabsPagerAdapter mAdapter; private ActionBar actionBar; // Tab titles private String[] tabs = { "Top Rated", "Games", "Movies" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Initilization viewPager = (ViewPager) findViewById(R.id.pager); actionBar = getActionBar(); mAdapter = new TabsPagerAdapter(getSupportFragmentManager()); viewPager.setAdapter(mAdapter) ; actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); actionBar.setDisplayShowHomeEnabled(false); actionBar.setDisplayShowTitleEnabled(false); // Adding Tabs for (String tab_name : tabs) { actionBar.addTab(actionBar.newTab().setText(tab_name) .setTabListener(this)); } /** * on swiping the viewpager make respective tab selected * */ viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageSelected(int position) { // on changing the page // make respected tab selected actionBar.setSelectedNavigationItem(position); } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageScrollStateChanged(int arg0) { } }); } @Override public void onTabReselected(Tab tab, FragmentTransaction ft) { } @Override public void onTabSelected(Tab tab, FragmentTransaction ft) { // on tab selected // show respected fragment view viewPager.setCurrentItem(tab.getPosition()); } @Override public void onTabUnselected(Tab tab, FragmentTransaction ft) { } } 

Por este código, tengo el siguiente diseño:

 package info.androidhive.tabsswipe; import info.androidhive.tabsswipe.adapter.TabsPagerAdapter; import android.app.ActionBar; import android.app.ActionBar.Tab; import android.app.FragmentTransaction; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.view.ViewPager; public class MainActivity extends FragmentActivity implements ActionBar.TabListener { private ViewPager viewPager; private TabsPagerAdapter mAdapter; private ActionBar actionBar; // Tab titles private String[] tabs = { "Top Rated", "Games", "Movies" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Initilization viewPager = (ViewPager) findViewById(R.id.pager); actionBar = getActionBar(); mAdapter = new TabsPagerAdapter(getSupportFragmentManager()); viewPager.setAdapter(mAdapter) ; actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); actionBar.setDisplayShowHomeEnabled(false); actionBar.setDisplayShowTitleEnabled(false); // Adding Tabs for (String tab_name : tabs) { actionBar.addTab(actionBar.newTab().setText(tab_name) .setTabListener(this)); } /** * on swiping the viewpager make respective tab selected * */ viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageSelected(int position) { // on changing the page // make respected tab selected actionBar.setSelectedNavigationItem(position); } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageScrollStateChanged(int arg0) { } }); } @Override public void onTabReselected(Tab tab, FragmentTransaction ft) { } @Override public void onTabSelected(Tab tab, FragmentTransaction ft) { // on tab selected // show respected fragment view viewPager.setCurrentItem(tab.getPosition()); } @Override public void onTabUnselected(Tab tab, FragmentTransaction ft) { } } 

Por este código, Así es como la pantalla se ocupa de la compilación:

Introduzca aquí la descripción de la imagen

¿Cómo puedo poner pestañas en la parte inferior de la pantalla?

Estos ejemplos de código xml definen mover la pestaña a la parte inferior de la pantalla:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TabHost android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent" > <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" > <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@android:id/tabs" > <FrameLayout android:id="@+id/tab_home" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <FrameLayout android:id="@+id/tab_video" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <FrameLayout android:id="@+id/tab_audio" android:layout_width="fill_parent" android:layout_height="fill_parent" > </FrameLayout> <FrameLayout android:id="@+id/tab_blog" android:layout_width="fill_parent" android:layout_height="fill_parent" > </FrameLayout> <FrameLayout android:id="@+id/tab_gal" android:layout_width="fill_parent" android:layout_height="fill_parent" > </FrameLayout> <FrameLayout android:id="@+id/tab_more" android:layout_width="fill_parent" android:layout_height="fill_parent" > </FrameLayout> </FrameLayout> <TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" //align parent bottom mainly used for move the tab to bottom of the screen. android:background="@drawable/ic_launcher" android:divider="@null" /> <!-- android:background="#d8e49c" --> </RelativeLayout> </TabHost> </LinearLayout> 

En realidad es contra la guía de diseño de Android, ya que en la parte inferior hay botones suaves / duros como el botón de inicio de botón de vuelta, etc

http://developer.android.com/design/patterns/pure-android.html

Pero si insistes en ponerlos en la parte inferior, puedes implementarlo como ejemplo de GitHub consiste en pestañas en la parte inferior, usando FragmentTabHost.

https://github.com/rameshkec85/BottomTabsFragmentTabHost

con una barra de acción que sólo será capaz de agregar pestañas en la parte superior, ya que es la forma en que las aplicaciones de Android se vería como. Tener pestañas en la parte inferior es puramente ios estilo. y si todavía desea lograr el mismo aspecto en:

esto . La fuente de Github se puede encontrar aquí

No lo haga, las pestañas siempre deben estar en la parte superior de Android.

una solución más: https://stackoverflow.com/a/23150258/2765497 para soporte api <11 reemplazar TabView a FragmentTabVeiw y agregar otras importaciones de Sherlock de la biblioteca de soporte

  • No se puede instanciar la actividad ComponentInfo no puede instanciar la clase
  • Acción Snackbar getView ()
  • JAVAH no puede encontrar clase (android ndk)
  • Cómo configurar RecyclerView en el widget android
  • El diseño de fragmentos de Android no se carga al mostrar un anuncio intersticial de Admob en OnCreateView
  • Renovación de la referencia $ ref de objeto deserializante de JSON a su copia original
  • Al hacer clic en la notificación no se abre la actividad mencionada
  • ¿Cómo puedo utilizar una tarea asíncrona para cargar un archivo en el servidor?
  • Aplicación de Android que se conecta a un servicio web - no funciona
  • ContentResolver.requestSync en Sync Adapter no funciona en Android
  • HorizontalGridView / RecyclerLa posición de desplazamiento se restablece una vez que la imagen de Picasso se carga
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.