文档章节

最靠谱的禁止ViewPager滑动方法

JayPark不作死
 JayPark不作死
发布于 2014/10/13 11:07
字数 207
阅读 3.2W
收藏 2

精选30+云产品,助力企业轻松上云!>>>

最近做项目要求某种情况下ViewPager不能滑动,在网上找了一圈。有说重写Ontouch的,各种。都试了试,基本都不可用。 

自己看ViewPager源码,知道VIewPager移动全部都调用了scrollTo方法,这个是View的方法,那么我们只需要重写这个方法就可以禁止ViewPager滑动 

Java代码

  1. public class CustomViewPager extends ViewPager {  

  2.   

  3.     private boolean isCanScroll = true;  

  4.   

  5.     public CustomViewPager(Context context) {  

  6.         super(context);  

  7.     }  

  8.   

  9.     public CustomViewPager(Context context, AttributeSet attrs) {  

  10.         super(context, attrs);  

  11.     }  

  12.   

  13.     public void setScanScroll(boolean isCanScroll){  

  14.         this.isCanScroll = isCanScroll;  

  15.     }  

  16.   

  17.   

  18.     @Override  

  19.     public void scrollTo(int x, int y){  

  20.         if (isCanScroll){  

  21.             super.scrollTo(x, y);  

  22.         }  

  23.     }  

此时,ViewPager.setCurretItem方法也会失效,想通过点击Tab button 切换page也无法实现。

二、setOnTouchListener

ViewPager.setOnTouchListener(new View.OnTouchListener(){

        on touch ( xx ){

                return true;

        }

});

这种方式可以实现只禁止滑动翻页,可以通过setCurrentItem,来切换页面。

JayPark不作死
粉丝 15
博文 51
码字总数 13622
作品 0
苏州
程序员
私信 提问
加载中
此博客有 2 条评论,请先登录后再查看。
【求指教!!】Fragment ViewPager相关问题

想实现类似于微信的效果,点击Footer的tab整个页面的内容跟着变化,但是页面切换不需要滑动(页面切换包括手势切换和点击Footer的tab切换,默认ViewPager是手势切换和点击Footer的tab切换都有...

Summersize
2013/12/16
361
3
Android viewpager+fragment+viewpager+fragment 的问题

用了viewpager+fragment 嵌套viewpager+fragment, 第一个viewpager自定义了禁止滑动的功能,通过点击底部的导航栏进行切换,然后第二个viewpager可以滑动,但是当第二个viewpager滑动到最后...

飘渺的火
2017/12/11
291
0
【Android】 banner+tab吸顶+viewpager切换+刷新加载之实现

如图,顶部有轮播图,tab需要吸顶,不同tab对应的条目不同,各tab下的条目存在不同类型,需要支持下拉刷新与上拉加载。天资愚笨,花了一周时间终于实现,特此记录。 项目中刷新加载控件采用S...

键笔刀
2019/03/13
760
0
Android 禁止Viewpager左右滑动功能

做项目要求某种情况下ViewPager不能滑动 百度后发现重写ViewPager,覆盖ViewPager的onInterceptTouchEvent(MotionEvent arg0)方法和onTouchEvent(MotionEvent arg0)方法,这两个方法的返回值...

osc_to22dmsu
2019/06/20
2
0
Android 解决ViewPager双层嵌套的滑动问题

原文地址 https://www.cnblogs.com/zhujiabin/p/7083290.html 之前在做自己的一个项目的时候,遇到广告栏图片动态切换,我第一时间想到的就是ViewPager,整个软件只有广告这一部分ViewPager...

osc_02vmpq90
2019/02/04
30
0

没有更多内容

加载失败,请刷新页面

加载更多

智慧旅游海内外现况详情及发展对策

所谓的智慧旅游,便是“智慧地球”和“智慧城市”二者在旅游层面上所展开的实际应用,是伴随着科技进步的发展,信息化管理的提升,从而造成的旅游信息化管理升级。智慧旅游是“智慧地球”的物...

osc_04b0bwu2
3分钟前
0
0
Fiddler 使用fiddler无法抓取苹果手机https请求问题解决方案

使用fiddler无法抓取苹果手机https请求问题解决方案 by:授客 QQ:1033553122 测试环境 Win10 Fiddle4 IPhone6s 问题描述 使用fiddler抓取IPhone6s时,发现无法捕获数据包问题,如下: 解决方...

osc_52r4y6wv
5分钟前
0
0
【Study】 TCP/IP协议 -- 计算机网络之传输层篇(03)

1.传输层 传输层概述: 传输层是管理端到端的通信连接。 传输层之间的通信其实是进程与进程之间的通信,使用端口来标记不同的网络进程。 2.传输层协议 传输层主要有两种协议:TCP和UDP协议。...

osc_3ytpwpyb
7分钟前
0
0
【Study】 TCP/IP协议 -- 计算机网络之应用层篇(04)

应用层包含的协议: TCP与UDP协议的使用场景: 1.DNS详解 DNS:Domain Name SyStem(域名系统) DNS服务是把容易理解的域名转换为计算机中能进行TCP/IP协议通讯的IP,再进行网络的通讯:(I...

osc_bwy4ep83
9分钟前
0
0
浪潮边缘服务器支持中国联通首批5G白盒UPF测试

浪潮边缘服务器支持中国联通首批5G白盒UPF测试 近日,中国联通网络技术研究院联合浪潮在内的三家产业合作伙伴,共同启动了白盒UPF功能和N4接口的兼容性验证测试工作。本次测试的成功标志着N...

osc_zitca8hu
10分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部