Android ViewPager 使用總結
ViewPager
簡單使用
-
ViewPager + PagerAdapter
簡單的View
可以使用這個實現,例如實現Banner
效果,每一張頁面都比較簡單,只有一張圖片或者只有圖片和文字描述。 -
ViewPager + FragmentPagerAdapter + Fragment
用於實現少量複雜頁面之間的切換,而且Fragment
具有生命週期,方便管理。 -
ViewPager + FragmentStatePagerAdapter + Fragment
用於實現多個複雜頁面之間的切換,如新聞的tab
頁面
ViewPager 與其他滑動衝突問題
推薦閱讀
- ViewPager,ScrollView 巢狀ViewPager滑動衝突解決
- Android 滑動衝突解決 - ViewPager 篇
- Android-ViewPager巢狀使用探究
- ViewPager中巢狀VieRecyclerView 滑動事件解決 這篇博文還順道簡單明瞭講解了 Android 中的 View 事件傳遞
ViewPager 顯示不全問題
- 寫死高度
- 自己計運算元佈局的高度(會以子佈局中最高的那個佈局高度為最終的高度)
可參考這篇博文 GridView巢狀在ViewPager中,ViewPager巢狀在ScrollView中,GridView顯示不全問題 在評論中解決 子佈局高度留白問題,地址是 關於ViewPager高度自適應(隨著pager頁的高度改變Viewpager的高度)
3D 旋轉
-
利用 APIDemo 中提供的工具類實現
-
Viewpager 的
3D
切換動畫
實現ViewPager.PageTransformer
在頁面切換時做動畫
下票幹:
- 手寫一個簡單的無限輪播 Banner
- 推薦兩個庫