先看樣例,有圖有真相

此處主要說明tablayout的使用方法,viewpager綁定fragment的介紹在其他文章說明
mBinding.tabsLayout.setupWithViewPager(mBinding.vpTabs);
常見問題
-
切記,一定要先綁定viewpage再添加tab,否則tab的標(biāo)題無法正常顯示出來
-
setupwithviewpager會(huì)在后臺(tái)做很多事,比如清空tabs等,為了更安全的顯示我們的tabs,在綁定viewpager之后,先清空一下tabs再添加
mBinding.tabsLayout.removeAllTabs();
添加 tab
mBinding.tabsLayout.addTab(mBinding.tabsLayout.newTab().setText("所有書籍"));
mBinding.tabsLayout.addTab(mBinding.tabsLayout.newTab().setText("發(fā)現(xiàn)"));
或者使用
private String[] lstTitles = new String[]{"所有書籍", "發(fā)現(xiàn)"};
for(int i = 0; i < lstTitles.length; i++){
mBinding.tabsLayout.addTab(mBinding.tabsLayout.newTab());
mBinding.tabsLayout.getTabAt(i).setText(lstTitles[i]);
}
常用屬性設(shè)定
顏色">設(shè)定文本顏色
app:tabTextColor="@color/tab_text" //設(shè)定標(biāo)題文本顏色
app:tabSelectedTextColor="@color/tab_text" //設(shè)定標(biāo)題文本選中后顏色
上面只需要設(shè)置tabtextcolor即可,具體選中后的顏色可以在顏色屬性里設(shè)置
在 res/drawable/目錄下添加 tab_text 選擇器控制默認(rèn)和選中后的字體顏色
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas./apk/res/android">
<item android:color="@color/colorAccent" android:state_selected="true"/>
<item android:color="#000"/>
</selector>
取消滾動(dòng)指示線
app:tabIndicatorHeight="0dp"
設(shè)定標(biāo)簽文字樣式
沒有屬性可以直接設(shè)定文字大小,但可以通過樣式來設(shè)定
自定義一個(gè) style 樣式
<style name="tabTextAppearance">
<item name="android:textSize">22sp</item>
</style>
app:tabTextAppearance="@style/tabTextAppearance"
|