tablayout基本講解

  Material Design伴隨android5.0出現後,我們發現Google終於意識到了自己以往在UI設計方面的不足(或者說缺陷),

其中一款用於標籤導航的控件正式出現在design兼容包中——滑動指示選項卡tablayout,tablayout主要用於可切換的標籤

效果。(注:大家千萬別和TableLayout控件搞混了,兩個之間沒有一毛錢關係)

首先在代碼中獲取tablayout控件,然後通過代碼的方式添加簽:

  tablayout.addTab(tablayout.newTab().setText("tab"+i));

  tablayout.addTab()中還可以添加boolean參數,true爲默認選中標籤,false爲該標籤沒被選中;

  tablayout.addTab(tablayout.newTab().setText("tab"+i),false);

在佈局文件中也可以:  

  app:tabMode    //參數可選fixed和scrollable——fixed是指固定個數, scrollable是使其可以橫行滾動

  app:tabGravity //對齊方式,可選fill和center(注:此兩種屬性值只有在tabMode設置爲fixed的情況下有效)

在代碼中還可以(代碼中寫的方法在xml的TabLayout控件下都有與之對應的屬性,代碼覺得麻煩的就在xml中設置):

  tablayout.setSelectedTabIndicatorHeight(); //設置被選中標籤下方導航條的高度

  tablayout.setTabTextColors(Color.Black,Color.Gray); //設置標籤的字體顏色,1爲未選中標籤的字體顏色,2爲被                                                         選中標籤的字體顏色

 tablayout.setTabMode();

  setTabMode()有兩個可選參數:

  MODE_FIXED       //表示寬度始終是tablayout控件指定的寬度,如果標籤過多,那麼就無限擠壓控件

  MODE_SCROLLABLE  //表示每個標籤都保持自身寬度,一旦標籤過多,給標題欄提供支持橫向滑動的功能

  tablayout.setTabGravity(); //注:此條屬性必須配合MODE_FIXED使用,不然不起作用

  TabGravity有兩個可選參數:

  GRAVITY_FILL    //讓每個標籤平分TabLayout的全部寬度

  GRAVITY_CENTER  //讓每個標籤顯示自身寬度,然後所有標籤居中顯示

TabLayout還有以下常用設置方法:

 app:tabIndicatorColor        // tab指示符顏色

  app:tabSelectedTextColor     // tab被選中字體顏色   

  app:tabTextColor             // tab未被選中字體顏色          

  tablayout.setSelectedTabIndicatorColor();   //設置被選中標籤下方導航條顏色  

TabLayout中改變tab的字體大小隻能依靠app:tabTextAppearance來設置

  app:tabTextAppearance="@style/tabtextstyle"

在res/values/styles中添加:

  <style name="tabtextstyle">

  <item name="android:textSize">@dimen/tabtextsize</item>

  </style>

在res/values/dimens中添加:

  <dimen name="tabtextsize">12sp</dimen>

發佈了25 篇原創文章 · 獲贊 25 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章