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中实现向左滑动删除效果了


相关文章推荐

ViewPager子类与父类滑动冲突的情况

ViewPager中怎样让子类也可以滑动(父类不抢子类的滑动事件)? 1、相关的概念方法 android系统中的每个ViewGroup的子类都具有下面三个和TouchEvent处理密切相关的方...

Android禁止ViewPager的左右滑动

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

Android禁止ViewPager的左右滑动

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

Android禁止ViewPager的左右滑动

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

Android ViewPager禁止左右滑动以及点击选项卡切换闪烁的问题

最近做项目用到ViewPager,由于需求要禁止页面左右滑动,网上搜了一些资料之后,总结了下,解决方案如下: 重写ViewPager,覆写ViewPager中的两个个方法onInterceptTouc...

Android使用ViewPager实现左右循环滑动及轮播效果

ViewPager是一个常用的android组件,不过通常我们使用ViewPager的时候不能实现左右无限循环滑动,在滑到边界的时候会看到一个不能翻页的动画,可能影响用户体验。此外,某些区域性的Vie...

Android实现ViewPager+Fragment左右滑动

  • 2017年03月09日 22:04
  • 27.06MB
  • 下载

Android viewpager 左右滑动

  • 2013年04月12日 17:15
  • 1.06MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android禁止ViewPager的左右滑动
举报原因:
原因补充:

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