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),否則可能出現錯誤