1.要監聽滑動事件,可以實現接口或者實現內部類的方式進行
如果用接口的話,一定要將ViewPager注冊事件
1 mViewPager.setOnPageChangeListener(this);
2.實現接口就需要實現接口中未實現的方法,PagechangeListener的接口中有三個方法
①onPageScrollStateChanged(int arg0)
當頁面的滑動狀態改變時該方法會被觸發,頁面的滑動狀態有3個:“0”表示什么都不做,“1”表示開始滑動,“2”表示結束滑動。
②onPageScrolled(int position, float positionOffset, int positionOffsetPixels)
此方法在滑動ViewPager的時候一直被調用,頁面在滑動過程中不停觸發該方法:“position”按照api的解釋是“目前顯示在屏幕上的第一個頁面,只要positionOffset不為0,那么他后面的頁面同樣是可見的”
第一頁~第二頁
position = 0
positionOffset 0.0 ~ 1.0
第二頁~第一個
position = 0
positionOffset 1.0 ~ 0.0
通過上面的結果,由於position的值在切換第一頁和第二頁的時候沒有變化,就可以同過position+1得到右邊的view,通過position拿到左邊的view
position 不論是滑動還是靜止,他表示的都是屏幕最左邊的頁面
positionOffset 移量的百分比
positionOffsetPixels 偏移量的數值
③onPageSelected(int position):
ViewPager跳轉到新頁面時觸發該方法,position表示新頁面的位置。