Search code examples
javaandroidandroid-tablayout

How can I implement a TabLayout with tabs that start from left or right, but not center?


How can I implement a TabLayout, where the tabs start from left or from right, but not properly from the center.

TabLayout, has a property app:tabGravity="center", but how can I arrange my tabs, in a specific position, left or right?

Thanks so much.


Solution

  • Below is working for me.

    Tab will display on lest side.

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginStart="2dp"
            android:layout_marginTop="2dp"
            app:layout_scrollFlags="scroll|enterAlways|snap">
    
            <android.support.design.widget.TabLayout
                android:id="@+id/tabs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="0dp"
                android:background="?attr/colorPrimary"
                android:elevation="6dp"
                android:minHeight="?attr/actionBarSize"
                app:tabGravity="fill"
                app:tabMode="scrollable"
                app:tabPaddingEnd="10dp"
                app:tabPaddingStart="20dp" />
    
        </android.support.design.widget.AppBarLayout>
    
        <android.support.v4.view.ViewPager
            android:id="@+id/view_pager"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior" />
    
    </RelativeLayout>
    

    MainActivity.java

    public class MainActivity extends AppCompatActivity {
    
        //This is our tablayout
        private TabLayout tabLayout;
    
        //This is our viewPager
        private ViewPager viewPager;
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
    
            tabLayout = findViewById(R.id.tabs);
            viewPager = findViewById(R.id.view_pager);
    
            tabLayout.addTab(tabLayout.newTab().setText("Tab1"));
           // tabLayout.addTab(tabLayout.newTab().setText("Tab2"));
           // tabLayout.addTab(tabLayout.newTab().setText("tab3"));
    
            Pager adapter = new Pager(getSupportFragmentManager(), tabLayout.getTabCount());
            viewPager.setAdapter(adapter);
    
        }
    

    Let me know for more query. }