Android编程常常使用ViewPager结合Fragment实现可以左右滑动切换的页面,但有时会遇到这样的需求,让ViewPager根据特定条件来控制其是否滑动。
实现思路:重写ViewPager,覆盖 onTouchEvent 和 onInterceptTouchEvent 方法,使其返回false,截取ViewPager的事件响应,这样就等于禁止了ViewPager上的滑动事件。
public class MyViewPager extends ViewPager {   private boolean scrollble=true;   public MyViewPager(Context context){      super(context);   }   public MyViewPager(Context context, AttributeSet attrs) {     super(context, attrs);   }   @Override   public boolean onTouchEvent(MotionEvent ev) {     if (!scrollble) {       return true;     }     return super.onTouchEvent(ev);   }  @Override  public boolean onInterceptTouchEvent(MotionEvent ev) {    if (scrollble == false) {      return false;    } else {      return super.onInterceptTouchEvent(ev);    }  }  public boolean isScrollble() {     return scrollble;   }   public void setScrollble(boolean scrollble) {     this.scrollble = scrollble;   } } 在java代码中初始化MyViewPager后,调用setScrollble( )方法,则可控制ViewPager是否滑动,false为不可滑动,true为可滑动。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。
新闻热点
疑难解答