一、概述:
目前主流的app一般都會使用到的TabLayout。現在的app設計一般都是定制,定制就意味着個性化。而google提供的tablayout有時候並不能滿足我們的需求,還需要用代碼一點點的寫,這樣不僅耗費時間出錯率也會更加很多。因此決定封裝一些通用的TabLayout來加快這種個性化的tablayout的設計。下面是展示圖

二、樣例:
使用起來也非常的簡單:
a.代碼:
setContentView(R.layout.selecttablayout);
CommonTabLayout selectTabLayout = (CommonTabLayout) findViewById(R.id.tablayout);
List<String> datas = new ArrayList<>();
datas.add("Item1");
datas.add("Item2");
datas.add("Item3");
datas.add("Item4");
datas.add("Item5");
/**
* 創建一個左、中、右背景切換各不同的TabLayout(ps:也可以相同,看您怎樣設置)
*/
selectTabLayout.
setData(datas).
setTextColor(R.color.manager_radio_textcolor_selector).
setLeftDrawableSelector(R.drawable.manager_radio_left_selector).
setMiddleDrawableSelector(R.drawable.manager_radio_middle_selector).
setRightDrawableSelector(R.drawable.manager_radio_right_selector).
setDefaultSelectIndex(2).
setOnItemClickListener(new CommonTabLayout.OnItemClickListener() {
@Override
public void onItemClick(int pos) {
Toast.makeText(CommonTabLayoutActivity.this, "您點擊了其中的某一項:"+pos, Toast.LENGTH_SHORT).show();
}
}).buildViewByLeftMiddleRight();
CommonTabLayout selectTabLayout2 = findViewById(R.id.tablayout2);
List<String> datas2 = new ArrayList<>();
datas2.add("Left");
datas2.add("Right");
/**
* 創建一個左、右背景切換各不同的TabLayout(ps:也可以相同,看您怎樣設置)
*/
selectTabLayout2.
setData(datas2).
setTextColor(R.color.manager_radio_textcolor_selector).
setLeftDrawableSelector(R.drawable.manager_radio_left_selector).
setMiddleDrawableSelector(R.drawable.manager_radio_middle_selector).
setRightDrawableSelector(R.drawable.manager_radio_right_selector).
setDefaultSelectIndex(1).
setOnItemClickListener(new CommonTabLayout.OnItemClickListener() {
@Override
public void onItemClick(int pos) {
Toast.makeText(CommonTabLayoutActivity.this, "您點擊了其中的某一項:"+pos, Toast.LENGTH_SHORT).show();
}
}).buildViewByLeftRight();
布局文件:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <com.yw.ywlibrary.widget.tab.CommonTabLayout android:id="@+id/tablayout" android:layout_width="match_parent" android:layout_margin="20dp" android:layout_height="wrap_content"/> <com.yw.ywlibrary.widget.tab.CommonTabLayout android:id="@+id/tablayout2" android:layout_width="match_parent" android:layout_margin="20dp" android:layout_height="wrap_content"/> <com.yw.ywlibrary.widget.tab.CommonTabLayout android:id="@+id/tablayout3" android:layout_width="match_parent" android:layout_margin="20dp" android:layout_height="wrap_content"/> <com.yw.ywlibrary.widget.tab.CommonTabLayout android:id="@+id/tablayout4" android:layout_width="match_parent" android:layout_margin="20dp" android:layout_height="wrap_content"/> <com.yw.ywlibrary.widget.tab.CommonTabLayout android:id="@+id/tablayout5" android:layout_width="match_parent" android:layout_margin="20dp" android:layout_height="wrap_content"/> </LinearLayout>
c.源代碼下載地址:github
d.直接引入路徑:
allprojects { repositories { ... maven { url 'https://jitpack.io' } } } Step 2. Add the dependency dependencies { implementation 'com.github.ywtony:customerweight:Tag' }
