Cómo cambiar el estilo de pestaña en Android?

Me gustaría que mis pestañas de Android parezcan planas y simples como las de la aplicación TWitter oficial. ¿Cómo puedo reemplazar el tema predeterminado (luz) y cambiar las imágenes de fondo de las pestañas mediante las definiciones de estilo / tema?

Usted podría ajustar las pestañas a través de código – aquí hay un extracto de mi aplicación, pero también podría asignar temas en lugar de la imagen de fondo directamente. (No he utilizado un camino a través de atributos xml todavía, no estoy seguro de si eso está disponible, así de alguna manera).

private void initTabs() { tabs = (TabHost) findViewById(R.id.tabhost); tabs.setup(); tabs.setBackgroundResource(R.drawable.bg_midgray); TabHost.TabSpec spec; // Location info txtTabInfo = new TextView(this); txtTabInfo.setText("INFO"); txtTabInfo.setPadding(0, 5, 0, 0); txtTabInfo.setTextSize(11); txtTabInfo.setBackgroundResource(R.drawable.bg_tab_left_active_right_inactive); txtTabInfo.setTextColor(Color.DKGRAY); txtTabInfo.setGravity(Gravity.CENTER_HORIZONTAL); txtTabInfo.setHeight(39); spec = tabs.newTabSpec("tabInfo"); spec.setContent(R.id.tabInfo); spec.setIndicator(txtTabInfo); tabs.addTab(spec); ... } 

Utilicé la siguiente definición de mi tab_background.xml , tab_background.xml

  <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_selected="true" android:drawable="@drawable/tab_bg_selected" /> <item android:drawable="@drawable/tab_bg_normal" /> </selector> 

Luego iterar sobre las pestañas para configurarlas.

 TabWidget tabWidget = tabHost.getTabWidget(); for(int i=0; i<tabWidget.getChildCount(); i++) tabWidget.getChildAt(i).setBackgroundResource(R.drawable.tab_background); 

También puede hacerlo a través de XML y crear / definir un tema global para todas las pestañas de su aplicación. Hay más información sobre la creación de temas de widgets aquí: http://developer.android.com/guide/topics/ui/themes.html

  • Android: ¿Cómo diseñar el DatePicker?
  • El botón de radio creado dinámicamente o CheckBox no utiliza el acento de color
  • Cómo utilizar el tema del proveedor en la aplicación de Android
  • Estilo ICS en aplicaciones Froyo y Gingerbread
  • ¿Cómo agregar atributos de varios temas a la misma actividad en el manifiesto de Android?
  • Cómo aplicar estilo personalizado global a android.support.design.widget.TextInputEditText?
  • Cómo cambiar el color de texto del elemento de menú desbordamiento a un color diferente mediante el tema de la barra de acción de Sherlock
  • Elementos del menú de desbordamiento denominados barra de acción
  • Transición cuando el cambio de tema (o Activity.recreate ())
  • Error al agregar tema personalizado a la aplicación
  • ¿Cómo uso estilos de interfaz de usuario comunes en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.