viewpager.setOnPageChangeListener中方法的参数详解

viewpager.setOnPageChangeListener(new OnPageChangeListener() {  
              
    @Override  
    public void onPageSelected(int arg0) {  
        System.out.println("onpageselect = " + arg0);  
    }  
              
    @Override  
    public void onPageScrolled(int arg0, float arg1, int arg2) {  
            System.out.println("onPageScrolled = " + arg0 + ", " + arg1 + ", " + arg2);  
    }  
              
    @Override  
    public void onPageScrollStateChanged(int arg0) {  
        System.out.println("onPageScrollStateChanged = " + arg0);  
    }  
});  

大概先解释一下上面几个函数中各个参数的含义:
1.onPageSelected(int arg0) 指的是当前选择的是哪个页面
2. onPageScrolled(int arg0, float arg1, int arg2)  arg0表示目标,arg1表示偏移的百分比,arg2表示偏移的像素
3. onPageScrollStateChanged(int arg0) 表示当前滑动的状态,只有三个状态0, 1, 2,下面我们结合打印的日志来具体看看他们的含义



其实到这里,大概的含义就清楚了。
onPageScrollStateChanged 为1的时候表示开始滑动,为2的时候表示手指松开了页面自动滑动,为0的时候表示停止在某页
而且只要有onPageScrollStateChanged == 2 才有可能触发onPageSelected,向右滑动为当前页面+1,向左滑动为当前页面-1
但是这个好记,就是当前页跳转后的页面,如果和当前页一样,就不会调用。
onPageScrolled向右滑动,第一个参数表示的是当前的页面,向左滑动表示的是上一个页面的标号,后面2个参数看了日志其实很好理解。

你可能感兴趣的:(viewpager.setOnPageChangeListener中方法的参数详解)