¿Cómo puedo eliminar el indicador de tabulación seleccionado de TabWidget?

Esto es lo que me gustaría eliminar:

Introduzca aquí la descripción de la imagen

¿Cómo reemplazo el indicador que muestra qué pestaña se muestra actualmente, así como la línea azul que abarca todo el tabwidget?

Para Especificar: Todo lo que quiero indicar que ficha está seleccionada es la siguiente:

  • tab_button_active.9.png se debe mostrar como fondo si la pestaña es SELECTED
  • tab_button_inactive.9.png debe aparecer como fondo si la pestaña NO ES SELECCIONADA.

edit: El ajuste de tabStripEnabled a false no tiene efecto. Añadir un estilo a ella y tener "@android: style / Widget.Holo.ActionBar" como su padre también no es posible ya que im objetivo API nivel 7 y el ActionBar se implementó en el nivel 11 de la API.

Si android:tabStripEnabled="false" no funcionó entonces también supongo que llamar a setStripEnabled(boolean stripEnabled) no tendrá ningún efecto también. Si todo esto es cierto entonces su problema probablemente no está en TabWidget.

Yo sugeriría mirar su indicador de pestañas. Pruebe estas modificaciones. Este código se toma de un fragmento que tiene pestañas.

Aquí está el código que crea la vista del indicador de tabulación.

  View indicator = LayoutInflater.from(getActivity()).inflate(R.layout.tab, (ViewGroup) mRoot.findViewById(android.R.id.tabs), false); TabSpec tabSpec = mTabHost.newTabSpec(tag); tabSpec.setIndicator(indicator); tabSpec.setContent(tabContentId); 

Es probable que su vista de indicador de pestañas sea similar a ésta.

 <?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:layout_gravity="center" android:layout_weight="1" android:background="@drawable/tabselector" android:padding="5dp" > <ImageView android:id="@+id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/tab1icon"/> </LinearLayout> 

Ahora la parte importante aquí es el android:background="@drawable/tabselector" en el LinearLayout. El mío se parece a esto.

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- Non focused states --> <item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_unselected_light" /> <item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/tab_selected_light" /> <!-- Focused states --> <item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/tab_focused_light" /> <!-- Pressed state --> <item android:state_pressed="true" android:drawable="@drawable/tab_pressed_light" /> </selector> 

Este tabselector.xml es donde intercambiarás @drawable/tab_pressed_light con tu @drawable/tab_button_active y @drawable/tab_unselected_light con @drawable/tab_button_inactive

Asegúrese de comprobar que todos los dibujos que se encuentran en su tabselector.xml no tienen las tiras azules a lo largo de la parte inferior. Al mirar su imagen puedo ver pequeñas lagunas 5px a lo largo de esa franja esto es lo que me dio la idea de que la tira no era de su TabWidget. Espero que esto ayude.

Tengo otro hack.

  TabLayout tabLayout = (TabLayout) fragmentView.findViewById(R.id.tabs); tabLayout.setSelectedTabIndicatorHeight(0); 

Es básicamente la misma idea que Eleojasmil.

Para TabLayout : Sólo use la app:tabIndicatorColor="@android:color/transparent"

 <android.support.design.widget.TabLayout android:id="@+id/profile_album_tabs" android:layout_width="match_parent" android:layout_height="wrap_content" android:animateLayoutChanges="true" android:theme="@style/AppTheme.AppBarOverlay" app:tabBackground="@drawable/tab_background" app:tabIndicatorColor="@android:color/transparent" app:tabPadding="@dimen/common_margin" /> 

Esta línea de app:tabIndicatorHeight="0dp" resolver el problema para mí en xml

  <android.support.design.widget.TabLayout android:id="@+id/view_bottom_tabLayout" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabIndicatorHeight="0dp" //this line app:tabGravity="fill" app:tabMode="fixed" /> 

hay una línea de respuesta a la que sólo tiene que cambiar el color del indicador en un transparente

color.xml

  <color name="transparent2">#00000000</color> 

y ponga esta línea en su tabwidget

 tabLayout.setSelectedTabIndicatorColor(getResources().getColor(R.color.transparent2)); 

o

 app:tabIndicatorColor="@color/transparent2" 

Intente ajustar la altura del indicador Tab a cero:

 tabLayout.setSelectedTabIndicatorHeight(0); 

Establecer atributo android:tabStripEnabled="false" para su TabWidget .

Busqué un largo tiempo para quitar la fea barra de menú holo intentado todo. accidentalmente usó este código por otra razón y gracias a Dios lo quitó.

  for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) { tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#FF0000")); // unselected TextView tv = (TextView)tabhost.getTabWidget().getChildAt(i).findViewById(android.R.id.title); //Unselected Tabs tv.setTextColor(Color.parseColor("#ffffff")); } 

Fuente: Android tabhost cambiar el estilo de color del texto

Supongo que está utilizando ActionBarSherlock. El problema con el uso de TabWdiget es que no es parte de ABS, por lo que se verá "nativo" para cada versión de Android. Para mí, el mejor enfoque para la navegación de pestañas con ABS es usar un ViewPager y ViewPagerIndicator y el estilo del indicador. Lo malo es que tus pestañas deben ser fragmentos. Si necesitas que tus pestañas sean actividades entonces deberías echar un vistazo si los chicos de HoloEveryhwhere han logrado agregar el TabWidget.

 tabHost.getTabWidget().setStripEnabled(false); tabHost.getTabWidget().getChildAt(1).setBackgroundColor(getResources().getColor(R.color.tabcolor)); tabHost.getTabWidget().getChildAt(2).setBackgroundColor(getResources().getColor(R.color.tabcolor)); 

Más información aquí

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