TabLayout establece el espaciado o el margen de cada ficha

Quiero establecer un margen entre cada pestaña. Al igual que en PagerTabStrip que tiene setTextSpacing (int textSpacing) para hacer el espaciado de texto entre tab. ¿Puede TabLayout hacer eso?

He estado luchando este problema por un tiempo demasiado, encontré la solución en este hilo: Android Diseño de la Biblioteca de Apoyo TabLayout uso de diseño de pestañas personalizadas, pero el diseño de envolver las pestañas

<!-- Add the padding to tabPaddingStart and/or tabPaddingEnd --> <android.support.design.widget.TabLayout android:id="@+id/tabLayout" android:layout_width="match_parent" android:layout_height="@dimen/tab_layout_height" app:tabPaddingStart="10dp" app:tabPaddingEnd="10dp"> 

Puede utilizar el atributo tabMinWidth. Me gusta esto.

 <android.support.design.widget.TabLayout android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="44dp" app:tabIndicatorColor="@color/default_enable" app:tabTextColor="@color/font_default_03" app:tabSelectedTextColor="@color/default_enable" app:tabMinWidth="50dp" android:clipToPadding="false" android:paddingLeft="4dp" android:paddingRight="4dp" /> 

diseño

 <android.support.design.widget.TabLayout android:id="@+id/tabLayout" android:layout_width="match_parent" android:layout_height="wrap_content"/> 

Java

 TabLayout tabLayout = (TabLayout) findViewById(R.id.tabLayout); int betweenSpace = 100; ViewGroup slidingTabStrip = (ViewGroup) tabLayout.getChildAt(0); for (int i=0; i<slidingTabStrip.getChildCount()-1; i++) { View v = slidingTabStrip.getChildAt(i); ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) v.getLayoutParams(); params.rightMargin = betweenSpace; } 

Así se establece el margen para cuatro pestañas diferentes. Puede cambiar los valores de la función setMargins (v1, v2, v3, v4) para obtener un ajuste adecuado para el número de fichas con las que está trabajando. Espero que esto ayude. Tenga en cuenta que tabHost es el objeto de TabHost que aloja diferentes pestañas con las que está trabajando.

 Display display = getWindowManager().getDefaultDisplay(); int width = display.getWidth(); View currentView; for(int i=0;i<tabHost.getTabWidget().getChildCount();i++) { //This code removes divider between tabs tabHost.getTabWidget().setDividerDrawable(null); tabHost.getTabWidget().getChildAt(i).setLayoutParams(new LinearLayout.LayoutParams((width/8)-2,50)); currentView = tabHost.getTabWidget().getChildAt(i); LinearLayout.LayoutParams currentLayout = (LinearLayout.LayoutParams) currentView.getLayoutParams(); currentLayout.setMargins(30, 5, 80, 0); } 
 <android.support.design.widget.TabLayout android:id="@+id/tab_layout" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabMinWidth="0dp" app:tabMode="scrollable" /> 
  • Stick vista en la parte inferior del fragmento de un viewpager dentro de la disposición del coordinador
  • Menú del cajón secundario
  • Icono y texto de la pestaña utilizando la biblioteca de soporte de diseño de android
  • AppCompatSeekBar eliminación de relleno izquierdo y derecho?
  • Cómo utilizar Android AppBarLayout, Toolbar y TabLayout con fragmentos
  • Cómo establecer el divisor entre tabuladores en TabLayout de la biblioteca de soporte de diseño?
  • RuntimeException mientras utiliza nuevo TextInputLayout de la biblioteca de diseño de soporte
  • ¿Hay una manera de establecer el color ondulado para un botón de acción flotante a través de atributos XML?
  • Desactivar el desplazamiento de la barra de herramientas
  • ViewPager dentro del fragmento
  • TabLayout fijo y superposición de contenido AppBar
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.