IndicatorTabStrip-移動式下標漸變縮放Tab

IndicatorTabStrip

ICON

繼承自BaseTabStrip,移動式下標漸變縮放Tab,Item不建議超過5個,為ViewPager添加如PagerTitleStrip一樣的Tab,但支持更多自定義功能,并支持為Tab增加標記點功能,并可以自定義標記點各自的位置及顯示狀態以及背景等。

預覽

Screenshots

要求

  • minSdkVersion 9
  • 保持跟其他官方支持庫版本一致(如:com.android.support:appcompat-v7)

鏈接

使用

  • 基本布局
<am.widget.indicatortabstrip.IndicatorTabStrip
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/its_its_tabs"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:padding="5dp"
    android:textColor="@color/color_main_tabs"
    android:textSize="16sp"
    app:ttsTextScale="1.2"
    app:ttsDivider="@drawable/divider_indicator_under"
    app:ttsInterval="@drawable/divider_indicator_interval"
    app:ttsIndicator="@drawable/ic_indicator_indicator"
    app:ttsBackground="@drawable/bg_common_press"
    app:ttsGradient="@color/color_indicator"
    app:ttsTagMargin="5dp"
    app:ttsTagMinWidth="15dp"
    app:ttsTagMinHeight="15dp"/>
  • 基本代碼
IndicatorTabStrip tabs = (IndicatorTabStrip) findViewById(R.id.its_its_tabs);
BaseTabStrip.ItemTabAdapter adapter = new BaseTabStrip.ItemTabAdapter() {

    @Override
    public boolean isTagEnable(int position) {
        if (position == 0) {
            return false;
        } else {
            return true;
        }
    }

    @Override
    public String getTag(int position) {
        switch (position) {
            default:
            case 0:
                return null;
            case 1:
                return "";
            case 2:
                return "3";
        }
    }
};
tabs.setAdapter(adapter);
tabs.bindViewPager(viewPager);

注意

  • 不要使用ViewPage的setCurrentItem(int)方法,其不會通知到IndicatorTabStrip進行刷新,使用IndicatorTabStrip的performClick(int)方法
  • 布局時,android:textColor指定的顏色可以使用選擇器,其中android:state_selected="true"狀態下的顏色會與普通狀態下的顏色進行漸變
  • 保持跟其他官方支持庫版本一致(如:com.android.support:appcompat-v7),否則可能出現錯誤
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容