天天看點

ViewPager onPageChangeListener參數詳解

在處理ViewPager滑動事件時候,用到了onPageChangeListener接口,這個接口要實作三個方法分别是:

1、onPageScrollStateChanged

2、onPageScrolled 

3、onPageSelected

下面對以上三個方法的參數一一做個講解,以便開發中靈活使用,在上一篇自定義标題下平滑線的時候,就用到了裡面一個參數,很好的處理了下劃線平緩的動畫效果。

1、onPageScrollStateChanged(int arg0)   ,此方法是在狀态改變的時候調用,其中arg0這個參數三個值(0,1,2),代表三個狀态。arg0 為1的時候默示正在滑動,arg0為2的時候默示滑動完畢了,arg0為0的時候默示什麼都沒做,當頁面開始滑動的時候,三種狀态的變化順序為(1 — 2 — 0)。

ViewPager onPageChangeListener參數詳解

2、onPageScrolled(int arg0,float arg1,int arg2)  ——當頁面在滑動的時候會調用此方法,在滑動被停止之前,此方法會一直得到調用。

列印日志

ViewPager onPageChangeListener參數詳解

其中三個參數的含義分别為:

arg0 :arg0值分為兩種情況,頁面向左向右(對應手指向右向左滑)滑動,手指向左滑動,viewpager從位置1滑動到位置2,arg0的值為1;手指向右滑動,viewpager從位置1滑動到位置0,那麼arg0的值為0,大家不要誤認為arg0就是目前滑動頁面的位置編号。

arg1:目前頁面偏移的百分比,也分為兩種情況,手指向左滑動,從零到百分之百,手指向右滑動,從百分之百到零,這個有很多用處,可以做一些相關的動畫,比如上篇部落格中的标題下劃線滑動效果。

arg2:目前頁面偏移的像素位置,也分為兩種情況,手指向左滑動,偏移量arg2從零增大,手指向右滑動,偏移量arg2從一定的像素值減小

3、onPageSelected( int  arg0) :   此方法是頁面跳轉成功後調用的,arg0是你目前選中的頁面的Position(位置編号),比如viewpager從位置1滑動到位置2,那麼arg0的值為2。