TabLayout+ViewPager制作簡單導航欄


先看樣例,有圖有真相

綁定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即可,具體選中后的顏色可以在顏色屬性里設置

在 res/drawable/目錄下添加 tab_text 選擇器控制默認和選中后的字體顏色

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/colorAccent" android:state_selected="true"/>
    <item android:color="#000"/>
</selector>
取消滾動指示線
app:tabIndicatorHeight="0dp"
設定標簽文字樣式

沒有屬性可以直接設定文字大小,但可以通過樣式來設定
自定義一個 style 樣式

    <style name="tabTextAppearance">
        <item name="android:textSize">22sp</item>
    </style>
app:tabTextAppearance="@style/tabTextAppearance"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM