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為可滑動。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答