TabLayout+ViewPager製作簡單導航欄
阿新 • • 發佈:2020-06-30
繫結viewpager
此處主要說明tablayout的使用方法,viewpager繫結fragment的介紹在其他文章說明
mBinding.tabsLayout.setupWithViewPager(mBinding.vpTabs);
常見問題
-
切記,一定要先繫結viewpage再新增tab,否則tab的標題無法正常顯示出來
-
setupwithviewpager會在後臺做很多事,比如清空tabs等,為了更安全的顯示我們的tabs,在繫結viewpager之後,先清空一下tabs再新增
mBinding.tabsLayout.removeAllTabs();
新增 tab
mBinding.tabsLayout.addTab(mBinding.tabsLayout.newTab().setText("所有書籍")); mBinding.tabsLayout.addTab(mBinding.tabsLayout.newTab().setText("發現"));
或者使用
private String[] lstTitles = new String[]{"所有書籍", "發現"};
for(int i = 0; i < lstTitles.length; i++){
mBinding.tabsLayout.addTab(mBinding.tabsLayout.newTab());
mBinding.tabsLayout.getTabAt(i).setText(lstTitles[i]);
}
常用屬性設定
設定文字顏色
app:tabTextColor="@color/tab_text" //設定標題文字顏色 app:tabSelectedTextColor="@color/tab_text" //設定標題文字選中後顏色
上面只需要設定tabtextcolor即可,具體選中後的顏色可以在顏色屬性裡設定
tab_text.xml
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="@color/colorAccent" android:state_checked="true"/> <item android:color="@color/colorAccent" android:state_selected="true"/> <item android:color="#000"/> </selector>