TabLayout set spacing or margin each tab

android-tablayout remove padding
android-tablayout set tab width
android tablelayout space between columns
tablayout add tab
android-tablayout disable tab
com google android material tabs tablayout text size
error inflating class com google android material tabs tablayout
tablayout border

I want to set margin in between each tab. Like in PagerTabStrip which has setTextSpacing(int textSpacing) to make text spacing between tab. Can TabLayout do that?

Been fighting this problem for a while too, found the solution on this thread : Android Design Support Library TabLayout using custom tabs layout but layout wrapping the tabs

<!-- Add the padding to tabPaddingStart and/or tabPaddingEnd -->

How to add margin between tabs in TabLayout?, If you are using TabLayout there is no way to add margins to the tabs by using In order to get each and every tab as a View we have to first get the Set this to 50% of what you want the actual space between the tabs to be. In general, the main idea of the code snippet above is to get each tab as a View and to add margin to it. The tricky part is how to actually get the tabs one by one. If we go through the source code of the TabLayout class, we will notice that each and every time we add a new tab to the TabLayout, that tab is being included in a SlidingTabStrip

You can use tabMinWidth attribute. like this.

    android:paddingRight="4dp" />

How to add margins between tabs in TabLayout – Spot Android, Tabs Almost each and every application has at least one screen with tabs. Using that UI pattern gives us the desired high level organization of  Android: Set color of CheckBox; TabLayout set spacing or margin each tab; It is possible to create a ToggleButton without text? Fragment re-created on bottom navigation view item selected; How do I get the position selected in a RecyclerView? How to add a Fragment inside a ViewPager using Nested Fragment (Android 4.2)




TabLayout tabLayout = (TabLayout) findViewById(;
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;

Adding Padding in Tabs in Android, I used a typical TabLayout and ViewPager with a custom FragmentPagerAdapter class as the adapter for ViewPager . This is TabLayout and  TabLayout can be used with ViewPager for a lot of convenience, but there are still lots of places where people spit out TabLayout. Here's just how to set the interval between tab s, find a lot of ways on the web, what padding and margin don't work, there's no way, TabLayout can only do it on its own.The results are as follows: 1. Implementation


TabLayout set spacing or margin each tab, I want to set margin in between each tab. Like in PagerTabStrip which has setTextSpacing(int textSpacing) to make text spacing between tab. Can TabLayout do  Stack Overflow for Teams is a private, secure spot for you and your coworkers to find and share information. TabLayout set spacing or margin each tab. 0. add border around tabs in android

You can remove weight and set marginEnd,marginStart and width for Tabs in TabLayout.


val tabs = tabLayout.getChildAt(0) as ViewGroup

for (i in 0 until tabs.childCount ) {
       val tab = tabs.getChildAt(i)
       val layoutParams = tab.layoutParams as LinearLayout.LayoutParams
       layoutParams.weight = 0f
       layoutParams.marginEnd = 12.dpToPx()
       layoutParams.marginStart = 12.dpToPx()
       layoutParams.width = 10.dpToPx()
       v.layoutParams = layoutParams


ViewGroup tabs = (ViewGroup) tabLayout.getChildAt(0);

for (int i = 0; i < tabs.getChildCount() - 1; i++) {
       View tab = tabs.getChildAt(i);
       LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) tab.getLayoutParams();
       layoutParams.weight = 0;
       layoutParams.width = 10;

All-in-One, TabLayout is a common widget working with ViewPager and This view is not actually added to TabLayout, it is just a dummy which allows setting of a tab It is common to set ViewPager to have horizontal margin while  I have the following Fragment with a TabLayout with 2 Tabs. Each Tab is filled with one dot to represent the page inside the viewpager. How can I set space / padding / margin between the 2 Tabs wi

4 steps to Android Dot TabItem, By default, a TabLayout fills up its whole space with TabItem s. there are 12dp start and end padding in each TabItem when app:tabGravity is set to be center . It is going to be set according to the desired width of each tab. Tabs, Indents, and Margins: How to use the Tab Ruler The World's Greatest Book Posted on November 15, 2014 by Dave Bricker November 16, 2014 T his article explains the tab ruler found on every word processor and typesetting application.

Tab Layout, To use a TabLayout with a static number of tabs, define each tab as a TabItem directly in the layout. thanks @leon, It worked for me using scrollable TabLayout (tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE)) – Herman Oct 9 '17 at 18:57 This worked. Make sure you set the following in XML too: app:tabPadding="0dp" – dazza5000 Jan 20 '18 at 0:05

TabLayout, Fixed tabs display all tabs concurrently and are best used with content that benefits from quick pivots between tabs. int, MODE_SCROLLABLE. (Sorry for my bad english) What i did is viewPager inside viewPager and i want to set Image and text to each tab with Padding. I want to do something like this - Mock up design But so far I just a