I ran into a difficult problem with the TabLayout Android website
import android.support.design.widget.TabLayout;

When I select the first tab on the left, and then scroll the tabs to the right and select the first tab on the right, TabLayout first shows me the left tab again, and then scrolls it to the selected tab to the right. Here is my installation code
void setupTabs(ViewPager viewPager, TabLayout tabLayout) { ProductsPagerAdapter adapter = new ProductsPagerAdapter(getChildFragmentManager(), rootCategory.getChildCategories()); viewPager.setAdapter(adapter); tabLayout.setupWithViewPager(viewPager); setStartingSelection(viewPager, adapter); } private void setStartingSelection(ViewPager viewPager, ProductsPagerAdapter adapter) { for(int i = 0 ; i < adapter.getCount(); i++){ String title = (String) adapter.getPageTitle(i); if(title.equals(selectedCategory.getName())){ viewPager.setCurrentItem(i); break; } } }
And the layout
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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:fitsSystemWindows="true" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@color/toolbar_color" app:navigationIcon="@drawable/ic_back_white" app:title="@string/title_transport" app:titleTextColor="@color/title_color"/> <android.support.design.widget.TabLayout android:id="@+id/tab_layout" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabMode="scrollable" app:tabTextColor="@color/white" app:tabIndicatorColor="@color/tab_indicator" app:tabGravity="fill"/> </android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="0px" android:layout_weight="1" android:background="@android:color/white" /> </LinearLayout>
android android-tablayout
Rexsplode
source share