Design庫 TabLayout屬性詳解

2021-07-25 10:34:23 字數 3698 閱讀 5485

1.什麼是tablayout

在原始碼中給出了tablayout的定義:

tablayout provides a horizontal layout to display tabs.

意思很明顯:tablayout提供了乙個水平的布局用來展示tabs。

design庫:as有直接的引用,如果是eclipse這裡提供乙個通道-design庫

特別說明:

在清單檔案中設定如下**即可:

2.tablayout的基本使用方式

方式一:

1.在布局中加入該控制項:

android:id="@+id/tablayout"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

2.在**中

tablayout= (tablayout) findviewbyid(r.id.tablayout);

tablayout.addtab(tablayout.newtab().settext("tab 1"));

tablayout.addtab(tablayout.newtab().settext("tab 2"));

tablayout.addtab(tablayout.newtab().settext("tab 3"));

3.顯示效果

感覺還不錯吧,挺簡單就實現了這個ui效果。

方式二:

android:layout_width="wrap_content"

android:layout_height="wrap_content">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="tab1"/>

這樣同樣也可以實現方式一的效果,可是單單這樣並不能滿足我們。於是接下來看看有什麼屬性可以使用。

3.改變下tablayout的顏色

上面的tab顏色感覺不好看,打算換換:

1.改變選中字型的顏色

2.改變未選中字型的顏色

3.改變指示器下標的顏色

4.改變整個tablayout的顏色

於是現在我的tab變成了這個樣子:

4.改變tablayout內部字型大小

總覺得這個字型有點小了,於是想找方法把這個字變得大一點,

好像沒有直接變大的方法,可是找到了這個:

效果:

5.改變指示器下標的高度

既然字型變大了,指示器太小就顯得不太好看了,

設定指示器下標的高度:

效果:

6.新增圖示

有時候tab只有文字感覺有點單調了:

7.tab的模式

我們先多加幾個tab:

tablayout.addtab(tablayout.newtab().settext("tab 4"));

tablayout.addtab(tablayout.newtab().settext("tab 5"));

tablayout.addtab(tablayout.newtab().settext("tab 6"));

tablayout.addtab(tablayout.newtab().settext("tab 7"));

然後設定屬性為:

預設是fixed:固定的,標籤很多時候會被擠壓,不能滑動。

效果如下:

8.加入padding

設定tab內部的子控制項的padding:

設定整個tablayout的padding:

9.內容的顯示模式

10.tab的寬度限制

設定最大的tab寬度:

設定最小的tab寬度:

11.tab的「margin」

tablayout開始位置的偏移量:

12.tablayout的監聽事件

選中了某個tab的監聽事件ontabselectedlistener():

tablayout.setontabselectedlistener(newtablayout.ontabselectedlistener() {

@override

public voidontabselected(tablayout.tab tab) {

//選中了tab的邏輯

@override

public voidontabunselected(tablayout.tab tab) {

//未選中tab的邏輯

@override

public voidontabreselected(tablayout.tab tab) {

//再次選中tab的邏輯

13.和viewpager的聯動

最後也是最重要的:

tablayout.setupwithviewpager(viewpager);

一行**和viewpager聯動起來,簡單粗暴。

主要就是設定下標的高度為0,相當於沒有下標。

然後設定背景顏色以及選中文字顏色

最後設定tab的模式:

15.仿京東商品詳情android端的tab

主要原理是setcustomview()載入自定義檢視,來實現字型大小的改變,預設的tablayout不能改變。

design庫-tablayout仿京東商品詳情tab

補充:預設選中某項

tablayout.gettabat(position).select();

Design庫 TabLayout屬性詳解

1.什麼是tablayout 在原始碼中給出了tablayout的定義 tablayout provides a horizontal layout to display tabs.意思很明顯 tablayout提供了乙個水平的布局用來展示tabs。design庫 as有直接的引用,如果是eclip...

Design 設計模式之旅

他山之石,可以攻玉,設計模式起源於建築學,在軟體行業它把面向象的理念發揮到了極致,對於重複出現的問題,它提出了既幽雅又實際的解決方案。適當掌握和應用設計模式可以提高編碼的質量,提高自己的能力,往架構方面發展。設計模式更多的是一種思想的體現,不能生搬硬套。學習設計模式要做到真正的理解,因為在實際系統中...

養牛派APP介面DESIGN

任務詳情 任務要求 1 設計ui介面,功能要跟產品原型保持一致,但不限定設計師的具體排版和構圖創意 2 設計ui介面,要符合ios9或material design的互動規範,否則一律不予納用 6 如果遇到設計師能力不達標的情況下,猿團有權選擇關閉或重新發布任務,另選設計師加入設計任務 7 設計師在...