欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android viewpage实现可控制的禁止滑动

程序员文章站 2022-06-04 10:45:09
android编程常常使用viewpager结合fragment实现可以左右滑动切换的页面,但有时会遇到这样的需求,让viewpager根据特定条件来控制其是否滑动。 实...

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为可滑动。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。