Android 通用的TabLayout組件


一、概述:

  目前主流的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'
}

 


免責聲明!

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



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