把 ViewPager 擼成棧

最近有看到一些棧式列表的效果,突然發現ViewPager也能做到較爲簡易的效果,實在是迫不及待。

效果圖

這還是你熟悉的ViewPager麼?

stack

源碼

https://github.com/fashare2015/StackPageTransformer

使用

很簡單就一個類 —— StackPageTransformer.

沒有打成jar包,使用時直接複製源碼即可:StackPageTransformer

// 默認配置
mViewPager.setPageTransformer(true, new StackPageTransformer(mViewPager));

// 或
mViewPager.setPageTransformer(true, new StackPageTransformer(mViewPager, 0.8f, 0.9f, 5));
0.8f -> // 棧底: 最小頁面縮放比
0.9f -> // 棧頂: 最大頁面縮放比
5    -> // 棧內頁面數

實現

主要依賴ViewPager.PageTransformer.transformPage(View view, float position).

其中的position落在0~mStackCount-1時,進行相應的位移,從而堆成棧的效果.

還有一些漸變過渡的處理比較繁瑣,有興趣的話自行看代碼吧.

靈感來源

官方教程 —— Depth Page Transformer

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章