禁止滑动的ViewPager

禁止滑动的ViewPager


ViewPager非常好用,但有时候需要在ViewPager的里面再嵌入ViewPager,那么就有冲突了,简单粗暴的方法就是直接把一个ViewPager禁止滑动。

注意:禁止滑动的同时不能禁止 setCurrentItem 方法。

实现思路:重写ViewPager,覆盖 onTouchEvent 和 onInterceptTouchEvent 方法,使其返回false,这样就等于禁止了ViewPager上的滑动事件。

[ 参考文章 ]


代码

package com.miquan.view;

import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;

/**
 * 不可以滑动,但是可以setCurrentItem的ViewPager。
 */
public class NoScrollViewPager extends ViewPager {
    public NoScrollViewPager(Context context) {
        super(context);
    }

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

    @Override
    public boolean onTouchEvent(MotionEvent arg0) {
        return false;
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent arg0) {
        return false;
    }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-14 03:04:11

禁止滑动的ViewPager的相关文章

自定义控件(五)禁止滑动的ViewPager

禁止ViewPager的滑动需要重写onInterceptTouchEvent(MotionEvent arg0)方法和onTouchEvent(MotionEvent arg0)方法,这两个方法都是boolean类型的,将方法最后返回false即可. 代码示例: public class NoScrollViewPager extends ViewPager { private boolean noScroll = true; public NoScrollViewPager(Context

ViewPager禁止滑动以及它与内层滑动控件水平方向上事件冲突的解决方法

一.上图 二.场景描述 近期在做项目的时候,遇到一个怪异的需求,描述如下: 1.ViewPager中嵌套3个View,当从View1滑动到View2时禁止ViewPager的滑动事件. 2.通过View2底部改变页面的布局实现滑动到View1和View3. 3.View2内嵌的View中还存在一个可以左右滑动的View,在其上添加了手势,即支持左右滑动,这里存在事件冲突,需要通过事件分发来进行处理. 三.问题解决思路 1.禁止ViewPager滑动,主要是不让ViewPager执行scrollT

自定义循环滑动的viewpager

今天和大家分享一下如何定制一个可以循环滑动的viewpager.其实今天更重要的提供一种组件化思想,当然你可以理解为面向对象思想. 吐槽一下网上流行的实现方式吧(为了方便说明,下文称之为方式A),方式A是重写adapter的getCount方法,返回一个很大的数(值为max),adapter中的getView方法中的position重新根据实际数量取模,把viewpager设置在max二分之一的位置.因为这个值很大所以基本不可能滑动到position=0或者position=max的位置,不过确

android listview左右滑动分页(viewpager嵌套listview进行分页),焦点图带圆焦点

1.先上图后说话 2.代码 package com.example.exmp; import java.util.ArrayList; import java.util.List; import android.content.Context; import android.os.Parcelable; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import and

andorid自己定义ViewPager之——子ViewPager滑到边缘后直接滑动父ViewPager

近期的项目中,有一个需求要用ViewPager中嵌套ViewPager去实现整个效果.没做不论什么处理做出来后,仅仅能不停的滑动子ViewPager,父ViewPager就无法滑动了,这样肯定是不满足的,分析了一下原因,非常显示是整个滑动事件都被子ViewPager消耗掉了,所以仅仅能对ViewPager做一下自己定义处理.才干够实现. 下面是这个需求实现后的效果图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGNxNTIxMTMxNDEyMw=

移动端禁止滑动,移动端禁止上下滑动。

// 禁止滑动document.ontouchstart = function(){ return false;}; // 开启滑动document.ontouchstart = function(){ return false;}; 推荐前端群 群名称:html5/css3/js/jq/nodejs/div 群号:339840649 点击加入: 扫描加入:

移动端弹出层加遮罩后禁止滑动

//实现滚动条无法滚动 var mo=function(e){e.preventDefault();}; /***禁止滑动***/ function stop(){ document.body.style.overflow='hidden'; document.addEventListener("touchmove",mo,false);//禁止页面滑动 } /***取消滑动限制***/ function move(){ document.body.style.overflow='';

Notification(Notification的通知栏常驻、各种样式、点击无效、禁止滑动删除、兼容低版本)

Notification(Notification的通知栏常驻.Notification的各种样式.Notification点击无效.Notification禁止滑动删除) Android的Notification是android系统中很重要的一个机制, 产品人员常常利用通知栏的方式,跟用户进行弱沟通.拥有推送通知的app要比没有此类功能的app活跃率要高很多.另外类似于墨迹天气,清理大师等app,也会将通知栏常驻,利用自定义的布局,方便用户及时快捷的查看所需的信息和使用快捷的功能.所以Noti

andorid自定义ViewPager之——子ViewPager滑到边缘后直接滑动父ViewPager

最近的项目中,有一个需求要用ViewPager中嵌套ViewPager去实现整个效果,没做任何处理做出来后,只能不停的滑动子ViewPager,父ViewPager就无法滑动了,这样肯定是不满足的,分析了一下原因,很显示是整个滑动事件都被子ViewPager消耗掉了,所以只能对ViewPager做一下自定义处理,才可以实现.以下是这个需求实现后的效果图: 从图上就可以看出:我们用ViewPager中嵌套了ViewPager,而且要实现的是子ViewPager滑动到最后一页时,再滑就是滑动父Vie