TabLayout xml代碼
此處使用的是XTabLayout,使用官方的TabLayout也是同樣的寫法
<com.androidkun.xtablayout.XTabLayout
android:id="@+id/xTablayout"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_marginTop="65dp"
app:tabMaxWidth="240dp"
app:tabMinWidth="240dp"
app:tabPaddingEnd="20dp"
app:tabPaddingStart="20dp"
app:xTabIndicatorColor="@color/gradient_start_color"
app:xTabIndicatorHeight="10dp"
app:xTabIndicatorWidth="90dp"
app:xTabMode="scrollable"/>
Actitivy代碼
for (int i = 0; i < labelList.size(); i++) {
fragments.add(LabelFragment.newInstance(labelList.get(i)));
XTabLayout.Tab tab = mXTablayout.newTab();
View inflate = View.inflate(mContext, R.layout.view_tab, null);
TextView tv = inflate.findViewById(R.id.tv_tabName);
tv.setText(labelList.get(i).getLabelName());
LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) tv.getLayoutParams();
layoutParams.rightMargin = 10;
layoutParams.leftMargin = 10;
tv.setLayoutParams(layoutParams);
tab.setCustomView(tv);
mXTablayout.addTab(tab);
}
view_tab 布局代碼
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tv_tabName"
android:layout_width="240dp"
android:layout_height="80dp"
android:background="@drawable/shape_tab"
android:gravity="center"
android:orientation="vertical"
android:textColor="@color/selector_tab_tv"
android:textSize="24sp"/>
</LinearLayout>