android ViewPager滑動(dòng)事件講解
今天在做項(xiàng)目的時(shí)候,由于要處理viewPager頁面滑動(dòng)的事件,所以對(duì)其進(jìn)行了一個(gè)小小的研究:
首先ViewPager在處理滑動(dòng)事件的時(shí)候要用到OnPageChangeListener
OnPageChangeListener這個(gè)接口需要實(shí)現(xiàn)三個(gè)方法:(onPageScrollStateChanged,onPageScrolled ,onPageSelected)
onPageScrollStateChanged(int arg0) ,此方法是在狀態(tài)改變的時(shí)候調(diào)用,其中arg0這個(gè)參數(shù)
有三種狀態(tài)(0,1,2)。arg0 ==1的時(shí)辰默示正在滑動(dòng),arg0==2的時(shí)辰默示滑動(dòng)完畢了,arg0==0的時(shí)辰默示什么都沒做。
當(dāng)頁面開始滑動(dòng)的時(shí)候,三種狀態(tài)的變化順序?yàn)?1,2,0),演示如下:
當(dāng)viewPager狀態(tài)改變時(shí)候的代碼塊:
打印結(jié)果:
onPageScrolled(int arg0,float arg1,int arg2) ,當(dāng)頁面在滑動(dòng)的時(shí)候會(huì)調(diào)用此方法,在滑動(dòng)被停止之前,此方法回一直得到
調(diào)用。其中三個(gè)參數(shù)的含義分別為:
arg0 :當(dāng)前頁面,及你點(diǎn)擊滑動(dòng)的頁面
arg1:當(dāng)前頁面偏移的百分比
arg2:當(dāng)前頁面偏移的像素位置
(參見官網(wǎng):http://docs.eoeandroid.com/reference/android/support/v4/view/ViewPager.OnPageChangeListener.html#onPageScrolled(int, float, int))
演示如下:
頁面滾動(dòng)時(shí)侯代碼:
日志打印:
onPageSelected(int arg0) : 此方法是頁面跳轉(zhuǎn)完后得到調(diào)用,arg0是你當(dāng)前選中的頁面的Position(位置編號(hào))。