Android 禁止Viewpager左右滑动功能

做项目要求某种情况下ViewPager不能滑动

百度后发现重写ViewPager,覆盖ViewPager的onInterceptTouchEvent(MotionEvent arg0)方法和onTouchEvent(MotionEvent arg0)方法,这两个方法的返回值都是boolean类型的,只需要将返回值改为false,那么ViewPager就不会消耗掉手指滑动的事件了

public class NoScrollViewPager extends ViewPager {

    private boolean noScroll = false;

    public NoScrollViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public NoScrollViewPager(Context context) {
        super(context);
    }

    public void setNoScroll(boolean noScroll) {
        this.noScroll = noScroll;
    }

    @Override
    public void scrollTo(int x, int y) {
        super.scrollTo(x, y);
    }

    @Override
    public boolean onTouchEvent(MotionEvent arg0) {
        if (noScroll)
            return false;
        else
            return super.onTouchEvent(arg0);
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent arg0) {
        if (noScroll)
            return false;
        else
            return super.onInterceptTouchEvent(arg0);
    }

    @Override
    public void setCurrentItem(int item, boolean smoothScroll) {
        super.setCurrentItem(item, smoothScroll);
    }

    @Override
    public void setCurrentItem(int item) {
        super.setCurrentItem(item);
    }

}

原文地址:https://www.cnblogs.com/derekhan/p/11062113.html

时间: 2024-10-11 12:36:27

Android 禁止Viewpager左右滑动功能的相关文章

Android禁止ViewPager的左右滑动

转载请注明出处:http://blog.csdn.net/allen315410/article/details/40744287 有时候在开发中会遇到一些"诡异"的要求,比如在ViewPager中嵌入ListView,或者再嵌入一个ViewPager,那么在滑动的时候就会造成被嵌入的XXView不能滑动了,那么现在就把最外层的ViewPager禁止滑动吧,让被嵌入的XXView获得滑动事件好了.关于解决方法,网上也有很多说法,基本上是一致的,但是需要理解这个Android下的事件分发

114、Android禁止ViewPager的左右滑动

有时候在开发中会遇到一些“诡异”的要求,比如在ViewPager中嵌入ListView,或者再嵌入一个ViewPager,那么在滑动的时候就会造成被嵌入的XXView不能滑动了,那么现在就把最外层的ViewPager禁止滑动吧,让被嵌入的XXView获得滑动事件好了.关于解决方法,网上也有很多说法,基本上是一致的,但是需要理解这个Android下的事件分发机制才行,不明白事件分发机制的,上网查些资料看看,然后我这里也有简单的介绍,请参看博客Android自定义控件——侧滑菜单的下方. 怎样禁止V

Android利用ViewPager实现滑动广告板

•android-support-v4.jar,这是谷歌官方 给我们提供的一个兼容低版本Android设备的软件包,里面包囊了只有在Android3.0以上可以使用的api.而ViewPager就是其中之 一,利用它我们可以做很多事情,从最简单的导航,到页面切换菜单等等. •ViewPager的功能就是可以使视图滑动,就像Lanucher左右滑动那样. •本Demo向大家演示ViewPager的使用,并在用户未滑动View时,每隔5s钟自动切换到下一个View(循环切换),而当用户有Touch到

Android重写ViewPager修改滑动灵敏度

使用ViewPager作为一个页面进行切换,里面可以存放很多View,但有时在操作View时不小心滑动一下就有可能跳到下一页,这并不是我们想要的,这里就需要重写ViewPager修改它的滑动条件 效果图 程序目录结构 BTViewPager.java package com.example.viewpagerdemo; import android.content.Context; import android.support.v4.view.ViewPager; import android.

禁止ViewPager左右滑动事件

</pre><pre> public class MyCycTargetViewPager extends ViewPager { private float mLastMotionX; private float mLastMotionY; private float y = 20000; public MyCycTargetViewPager(Context context) { super(context); } public MyCycTargetViewPager(Con

android 禁止ViewPager滑动

最近项目中,有个需求就是要禁止ViewPager滑动事件,我们看下360手机助手的界面,风格就类似这样的 大家如果使用过360手机助手就会发现中间内容是不可以滑动的,现在写一个demo,讲下怎么禁止ViewPager事件的滑动 布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/too

android(8) ViewPager页面滑动切换

一.ViewPager页面滑动切换实现:    借鉴了别人的源码,还是比较容易实现的,而且这种效果还是经常使用的,特此记录一下: 效果图: 主界面: public class MainActivity extends Activity { private ViewPager mPager;// 页卡内容 private List<View> listViews; // Tab页面列表 private ImageView cursor;// 动画图片 private TextView t1, t

android 禁止viewPager 滑动

public class ContainerViewPager extends MyViewPager { public ContainerViewPager(Context context, AttributeSet attrs) { super(context, attrs); } @Override public boolean onInterceptTouchEvent(MotionEvent arg0) { return false; } @Override public boolea

android 禁止viewpager预加载

ViewPager这个控件相信每一个做android的都用过,而且一定用过,viewpager是可以前后滑动的,这在很多app中引导页中用过,大家也知道它是带缓存的,现在新建一个项目 viewpagertest, package com.example.viewpagertest; import java.util.ArrayList; import android.app.Activity; import android.os.Bundle; import android.os.IBinder