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) {
}
}