ViewPager页面滑动,滑动到最后一页,再往后滑动则执行一个事件

 1.ViewPager在处理滑动事件的时候要用到OnPageChangeListener( 代码:this.viewPager.setOnPageChangeListener(new MyListener());)

 OnPageChangeListener这个接口需要实现三个方法:(onPageScrollStateChanged,onPageScrolled ,onPageSelected)

  1)onPageScrollStateChanged(int arg0)   ,此方法是在状态改变的时候调用,其中arg0这个参数

有三种状态(0,1,2)。arg0 ==1的时辰默示正在滑动,arg0==2的时辰默示滑动完毕了,arg0==0的时辰默示什么都没做

  2)onPageScrolled(int arg0,float arg1,int arg2)   ,当页面在滑动的时候会调用此方法,在滑动被停止之前,此方法回一直得到

调用。其中三个参数的含义分别为:

arg0 :当前页面,及你点击滑动的页面

arg1:当前页面偏移的百分比

arg2:当前页面偏移的像素位置  

  3)onPageSelected(int arg0) :  
此方法是页面跳转完后得到调用,arg0是你当前选中的页面的Position(位置编号)。

2.isScrolling标记是否滑动

3.代码如下所示:

public class MyListener implements OnPageChangeListener {
  //当滑动状态改变时调用
  @Override
  public void onPageScrollStateChanged(int arg0) {
       if (arg0 == 1) { 
                 isScrolling = true; 
             } else { 
                 isScrolling = false;                  
             }                
  }
  //当当前页面被滑动时调用
  @Override
  public void onPageScrolled(int arg0, float arg1, int arg2) {                           
   if(arg0==ShowAct.this.viewGroups.size()-1 && arg1==0&&arg2==0&&isScrolling)
   {     
    ShowAct localShowAct1 = ShowAct.this;
    ShowAct localShowAct2 = ShowAct.this;
    Intent localIntent = new Intent(localShowAct2, MenuAct.class);
    localShowAct1.startActivity(localIntent);
    ShowAct.this.finish();
    ShowAct.this.overridePendingTransition(R.anim.order_in,R.anim.order_out);
   } 
          
  }
  //当新的页面被选中时调用
  @Override
  public void onPageSelected(int arg0) {      
  }
 
 }

原文地址:https://www.cnblogs.com/jack-Star/p/3860549.html