Android禁止ViewPager的左右滑动

转载 2015年07月08日 14:00:21
import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;


public class My_ViewPager extends ViewPager {

        
    public My_ViewPager(Context context) {    
        super(context);    
    }    
        
    public My_ViewPager(Context context, AttributeSet attrs) {    
        super(context, attrs);    
    }    
    
        
    //拦截 TouchEvent     返回false 拦截    
    @Override    
    public boolean onInterceptTouchEvent(MotionEvent event) {    
        return false;    
    }    
        
    //处理 TouchEvent     
    @Override    
    public boolean onTouchEvent(MotionEvent event) {    
        // TODO Auto-generated method stub    
//        return super.onTouchEvent(arg0);    
    return false;  
    }    
        
    
    //因为这个执行的顺序是  父布局先得到 action_down的事件        
    /**  
     * onInterceptTouchEvent(MotionEvent ev)方法,这个方法只有ViewGroup类有  
     * 如LinearLayout,RelativeLayout等    可以包含子View的容器的  
     *  
     * 用来分发 TouchEvent  
     * 此方法    返回true    就交给本 View的 onTouchEvent处理  
     * 此方法    返回false   就交给本View的 onInterceptTouchEvent 处理  
     */    
    @Override    
    public boolean dispatchTouchEvent(MotionEvent ev) {  
        //让父类不拦截触摸事件就可以了。    
        this.getParent().requestDisallowInterceptTouchEvent(false);     
        return super.dispatchTouchEvent(ev);    
       
    } 

}


        使用这个自定义的viewpager完全可以实现禁止左右滑动效果,有效的防止与其他使用滑动事件地方发生冲突。完全可以复制直接使用不需要任何修改。

        主要是onInterceptTouchEvent和onTouchEvent事件中需要返回false,这样就禁止左右滑动了,不会影响到lisetview正常使用,上下滑动还是可以,这样就可以在listview中实现向左滑动删除效果了


android 事件拦截 (Viewpager不可以左右滑动)

以前没有做过真正的需求,所以从来没有觉得事件拦截分发处理有什么好懂的。 现在做需求了,真的是什么需求都有,你作为开发都要去研究实现。比如说,只能点不能滑动的viewpager。其实这都可以不用vie...
  • u013270444
  • u013270444
  • 2016年09月29日 11:28
  • 1346

禁止ViewPager的左右滑动事件

Android开发中ViewPager用到的频率还是比较频繁的,我们知道ViewPager有左右滑动的监听事件。有时候我们不想使用它的左右滑动监听,想要去掉,我们该怎么办?这时候我们布局的时候不要直接...
  • LoveYaozu
  • LoveYaozu
  • 2016年07月12日 15:53
  • 4934

Android禁止ViewPager的左右滑动

有时候在开发中会遇到一些“诡异”的要求,比如在ViewPager中嵌入ListView,或者再嵌入一个ViewPager,那么在滑动的时候就会造成被嵌入的XXView不能滑动了,那么现在就把最外层的V...
  • lee_tianya
  • lee_tianya
  • 2014年11月03日 19:05
  • 35352

Android 禁止ViewPager左右滑动

项目中一直都是使用ViewPager添加Fragment,今天需求突然要求项目不需要左右滑动功能。看了上网上的基本都是重写ViewPager,大都可以实现禁止功能,这里自己也试着写了下。...
  • zl_china
  • zl_china
  • 2017年06月21日 17:30
  • 878

禁止滑动的ViewPager

禁止滑动的ViewPager ViewPager非常好用,但有时候需要在ViewPager的里面再嵌入ViewPager,那么就有冲突了,简单粗暴的方法就是直接把一个ViewPager禁止滑动。 ...
  • qiantujava
  • qiantujava
  • 2015年07月31日 12:18
  • 17481

Android-ViewPager禁止左滑(右滑)

Android-ViewPager禁止左滑(右滑)
  • u013372185
  • u013372185
  • 2015年06月19日 10:56
  • 4475

ViewPager动态开启和禁用左右滑动功能

public class MyViewPager extends ViewPager { public boolean isScroll=false; public boolean ...
  • Johngq
  • Johngq
  • 2017年06月01日 09:36
  • 826

ViewPager+Fragment的实现及禁止滑动

现在大部分的APP都都大致分为好几个模块,这就用到了viewpager+fragment来实现这样的效果,下面咱们就一起来实现一下这样的效果;一、实现 1、首先是activity_main.xml;...
  • lanrenxiaowen
  • lanrenxiaowen
  • 2017年05月19日 13:52
  • 7096

Android 自定义ViewPager设置屏蔽左右滑动事件

只要有欲望,就有奋斗的理由
  • zl18603543572
  • zl18603543572
  • 2015年12月17日 19:06
  • 1534

禁止ViewPager左右滑动事件

禁止ViewPager左右滑动事件
  • pangzaifei
  • pangzaifei
  • 2014年08月13日 15:54
  • 1464
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android禁止ViewPager的左右滑动
举报原因:
原因补充:

(最多只允许输入30个字)