Github學習之EasyTabs打造絢麗TabLayout+ViewPager滑動動畫集合庫
EasyTabs庫
EasyTabs的Android庫,可幫助建立和輕鬆定製material design標籤。
使用方式:
repositories { maven { url "https://jitpack.io" } }
compile 'com.android.support:design:23.3.0'
compile 'com.github.gilgoldzweig:EasyTabs:f434d9f635'
不建議這麼做,建議將Tabs庫以Modual形式匯入專案中,這樣可定製化動畫,而且減少不必要的程式碼。因為庫中動畫效果比較多。
例如:
使用:
<android.support .design.widget.TabLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/tabs"
android:background="@color/colorPrimary"/>
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/pager"
android:layout_below="@+id/tabs"/>
因為是針對TabLayout+ViewPager組合的滑動動畫庫
Java檔案
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
Typeface selected;
selected = Typeface.createFromAsset(getAssets(), "fonts/bubble.ttf" );
colors = new EasyTabsColors();
builder = new EasyTabsBuilder(this, tabs, pager)
.addTabs(false,
new TabItem(new frag1(), "number 1"),
new TabItem(new frag2(), "number 2"),
new TabItem(new frag3(), "number 3"),
new TabItem(new frag4(), "number 4"),
new TabItem(new frag1(), "number 1"),
new TabItem(new frag2(), "number 2"),
new TabItem(new frag3(), "number 3"),
new TabItem(new frag4(), "number 4"),
new TabItem(new frag1(), "number 5")
)
.setBackgroundColor(colors.RoyalBlue)
.setIndicatorColor(colors.White)
.setTextColors(colors.White, colors.DarkSlateBlue)
.addIcons(R.drawable.ic_person_white_36dp,
R.drawable.ic_photo_camera_white_36dp,
R.drawable.ic_favorite_white_36dp,
R.drawable.ic_help_white_36dp,
R.drawable.ic_person_white_36dp)
.setTransformation(true, new EasyRotateDownTransformer())
.setTabLayoutScrolable(false)
.setTypeface(selected)
.setToRTL(false)
.withIconFading(true);
}
選擇字型
selected = Typeface.createFromAsset(getAssets(), “fonts/bubble.ttf”);
設定字型
setTypeface(selected)
設定背景
setBackgroundColor
設定下劃線顏色
setIndicatorColor
設定字型顏色
setTextColors
新增圖示
addIcons
設定滑動動畫
setTransformation
動畫種類
很多,選擇性使用。
效果:
AccordionTransformer
BackgroundToForegroundTransformer
CubeInTransformer
旋轉90度退出
CubeOutTransformer
旋轉90度進入
DepthPageTransformer
FlipHorizontalTransformer
中心水平翻轉
FlipVerticalTransformer
中心垂直翻轉
ForegroundToBackgroundTransformer
縮放退出
RotateDownTransformer
RotateUpTransformer
頂部旋轉
ScaleInOutTransformer
StackTransformer
TabletTransformer
ZoomInTransformer
ZoomOutSlideTransformer
ZoomOutTranformer
嗯動畫很豐富,值得參考!
github地址: