Configuración de la TAB seleccionada con un pequeño triángulo debajo de ella

Quiero que mis pestañas para mostrar como en la imagen con pequeño triángulo por debajo de it.Is esto posible? Si es así, entonces ayúdame con algunos códigos o documentación.

Imagen 1

Creo que el siguiente enfoque es el más sencillo. Sólo tienes que configurar el siguiente dibujable (en realidad, es el predeterminado de Android para las pestañas) como un fondo de las pestañas:

<?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" /> <item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/tab_selected" /> <!-- Focused states --> <item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_focus" /> <item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/tab_focus" /> <!-- Pressed --> <item android:state_pressed="true" android:drawable="@drawable/tab_press" /> </selector> 

Donde tab_press , tab_focus y tab_selected sería png (prefiero 9-parches ) con la flecha hacia abajo y la región transparente cerca de ella. tab_unselected no tendría esta flecha, pero todavía tendría la misma región transparente. Lo único que queda por hacer es especificar un margen inferior negativo para tu TabWidget . Su valor está determinado por la altura de la flecha (no olvide utilizar unidades independientes de densidad ):

Esquema explicativo

Tab_0_info.xml:

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/ic_menu_yourImg_selected" android:state_selected="true" /> <item android:drawable="@drawable/ic_menu_yourImg" /> </selector> private void addTab(int resouceTabId, int drawableId, Class<? extends ActivityGroup> groupActivityClass) { Intent intent = new Intent(this, groupActivityClass); TabHost.TabSpec spec = tabHost.newTabSpec("tab" + resouceTabId); View tabIndicator = LayoutInflater.from(this).inflate( R.layout.tab_indicator, getTabWidget(), false); TextView title = (TextView) tabIndicator.findViewById(R.id.title); title.setText(resouceTabId); ImageView icon = (ImageView) tabIndicator.findViewById(R.id.icon); icon.setImageResource(drawableId); spec.setIndicator(tabIndicator); spec.setContent(intent); tabHost.addTab(spec); } //addTab(R.string.yourTabTitle, R.drawable.tab_0_info, YourGroup.class); 

Puede agregar imágenes al diseño con pestañas:

 <RelativeLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TabWidget android:id="@android:id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="0dip" /> <FrameLayout android:fadingEdge="none" android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="0px" android:layout_below="@android:id/tabs" android:layout_alignParentBottom="true" android:padding="0px" /> <ImageView .... android:id="@+id/down_arrow_left"/> <ImageView .... android:id="@+id/down_arrow_right"/> </RelativeLayout> 

Y agrega el listener en la actividad de la pestaña:

 getTabHost().setOnTabChangedListener(new OnTabChangeListener() { public void onTabChanged(String tabId) { if (tabId.equels("left")){ findViewById(R.id.down_arrow_left).setVisibility(View.VISIBLE); findViewById(R.id.down_arrow_right).setVisibility(View.INVISIBLE); } else if (tabId.equels("right")){ findViewById(R.id.down_arrow_left).setVisibility(View.INVISIBLE); findViewById(R.id.down_arrow_right).setVisibility(View.VISIBLE); } } }); 
  • Backbutton y pestañas de Android ActionBar
  • PagerSlidingTabStrip - agrega una nueva pestaña en tiempo de ejecución
  • Haga clic en la pestaña de Android
  • Android: Google Play como pestañas
  • Android ActionBar Tabs color de fondo modo dividido
  • ¿Cómo hacer que el tamaño de tablayout sea igual?
  • Android: pestañas en la parte inferior de la pantalla
  • Las pestañas se muestran de forma diferente dependiendo de si Theme.NoTitleBar está establecido o no en el manifiesto
  • Ocultar una pestaña en el TabHost en Android
  • ActionBarSherlock: las pestañas que aparecen ABOVE barra de acciones con vista personalizada
  • Forzar pestañas apiladas
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.