最靠谱的禁止ViewPager滑动方法

今天的工作中,遇到一个需求,就是禁止了viewpager的滑动效果。但是我的viewpager里面嵌套了scrollview。并且里面有seekbar,还有edittext,虽然我刚开始直接将viewpager的onTounchEvent返回false。但是发现表面上确实禁止了滑动。但是在scrollview这个页面可以很明显的发现,左右滑动的时候,viewpager还是会响应。

查了很多资料以后解决了问题。

方法1.如下代码:
 1 //    @Override
 2 //    public boolean onTouchEvent(MotionEvent ev) {
 3 //        return false;
 4 //    }
 5
 6 //    private boolean isCanScroll = true;
 7
 8
 9 //    public void setScanScroll(boolean isCanScroll){
10 //        this.isCanScroll = isCanScroll;
11 //    }
12 //    @Override
13 //    public void scrollTo(int x, int y){
14 //        if (isCanScroll){
15 //            super.scrollTo(x, y);
16 //        }
17 //    }

方法2.如下代码:

 1  private boolean isPagingEnabled = false;
 2     @Override
 3     public boolean onTouchEvent(MotionEvent event) {
 4         return this.isPagingEnabled && super.onTouchEvent(event);
 5     }
 6
 7     @Override
 8     public boolean onInterceptTouchEvent(MotionEvent event) {
 9         return this.isPagingEnabled && super.onInterceptTouchEvent(event);
10     }
11
12     public void setPagingEnabled(boolean b) {
13         this.isPagingEnabled = b;
14     }

第二个方法,完美解决了,但是我认为第一个方法也不错,值得学习。

希望对大家工作学习有帮助。

				
时间: 2024-10-14 22:15:53

最靠谱的禁止ViewPager滑动方法的相关文章

android 禁止ViewPager滑动

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

如何禁止viewPager滑动

众所周知,viewPager是能够滑动的,但有时候我们需要禁止它的滑动(微笑地面对*—……—*). 情况是这样的: activity中有一个viewPager,viewPager中加入3个Fragment,第三个Fragment中又使用了一个viewPager,这个viewPager中又加入了几个Fragment(本人不是受虐狂,仅仅是功能需要).如图: 想实现的功能: 点击activity的图标或者滑动的时候能够切换第一个viewPager中的Fragment,点击Fragment3中的图标能

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的左右滑动

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

114、Android禁止ViewPager的左右滑动

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

关于禁止ViewPager预加载问题【转】

转自:http://blog.csdn.net/qq_21898059/article/details/51453938#comments 我最近上班又遇到一个小难题了,就是如题所述:ViewPager预加载的问题.相信用过ViewPager的人大抵都有遇到过这种情况,网上的解决办法也就那么几个,终于在我自己不断试验之下,完美解决了(禁止了)ViewPager的预加载. 好了,首先来说明一下,什么是ViewPager的预加载:ViewPager有一个 "预加载"的机制,默认会把View

(转)ViewPager,ScrollView 嵌套ViewPager滑动冲突解决

ViewPager,ScrollView 嵌套ViewPager滑动冲突解决 本篇主要讲解一下几个问题 粗略地介绍一下View的事件分发机制 解决事件滑动冲突的思路及方法 ScrollView 里面嵌套ViewPager导致的滑动冲突 ViewPager里面嵌套ViewPager 导致的滑动冲突 轮播图的几种实现方式 先看一下效果图 ScrollView里面嵌套ViewPager ViewPager里面嵌套ViewPager View的 事件分发机制 这篇博客大打算详细讲解View的事件分发机制

ViewPager滑动不畅及灵敏度的问题

在项目中用到了Android的ViewPager组件,但是发现在滑动的时候不是特别流畅,有些小的滑动无法响应,于是考虑进行优化. 一开始考虑修改ViewPager中的一些参数,比如mTouchSlop等参数,继承ViewPager并且重写一些方法: 但是后来发现这种方法比较复杂,并且滑动不流畅的问题好像不在这里. 最后问题定位到ViewPager的嵌套上,因为在ViewPager所包含的view中包含了GridView组件,因此在滑动的时候有一定几率touch事件会被GridView处理掉,从而