Android之禁止ViewPager滑动实现实例
作者:Lindroy 发布时间:2022-03-17 23:55:40
标签:Android,ViewPager
Android之禁止ViewPager滑动实现实例
当我们想在同一个Activity或者Fragment中展示多个页面时往往会用到ViewPager,通过滑动,我们可以很方便地在不同的页面中切换。但是在某些情况下我们可能并不需要通过滑动来切换ViewPager中的页面(比如为了避免跟页面内的某些触摸事件冲突),而是希望只点击下面或者上面的按钮来切换页面。像知乎那样:
那么有什么方法可以实现不滑动ViewPager呢?其实很简单,只需要自定义一个不滑动的ViewPager就可以了。ViewPager之所以会随着手势滑动,是因为它使用了onTouchEvent监听事件(查看源码就可以知道)。那我们可以反其道而行之,改动它的onTouchEvent方法就可以了。
使用自定义控件的写法,创建一个MyViewPager类,继承于ViewPager,由于我们并不需要触摸监听事件,所以重写ViewPager中的onTouchEvent方法,返回一个true即可。
public class MyViewPager extends ViewPager {
public MyViewPager(Context context) {
super(context);
}
public MyViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
return true;
}
}
然后,只需要使用我们自定义好的ViewPager即可。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
来源:http://blog.csdn.net/lindroid20/article/details/52425626


猜你喜欢
- 一、Android前端实现新建一个login的项目,主要的几个文件在这里1、gradle引入OKhttp3依赖implementation
- 甲:听说最近java跌落神坛,python称霸武林了,你知道吗?乙:不是吧,我前几天看python怎么还是第三?丙:你们都在扯蛋,pytho
- 最近在做项目时需要对异常进行全局统一处理,主要是一些分类入库以及记录日志等,因为项目是基于Springboot的,所以去网络上找了一些博客文
- 实现从数据库中动态获取对应的List集合,并在Easyui的combobox中显示出来。实现的效果如下:1、数据库的表设计如图所示2、数据库
- 1.使用的注意事项本节给大家带来基础UI控件部分的最后一个控件:DrawerLayout,官方给我们提供的一个侧滑菜单控件,和上一节的Vie
- 一.static关键字使用场景static关键字主要有以下5个使用场景:1.1、静态变量把一个变量声明为静态变量通常基于以下三个目的:作为共
- 1、问题描述几种代码写法会有不同的ID返回值,下面我们一一分析。2、问题分析 首先一种插入写法,源码如下:SysUser .java/**
- gateway版本是 2.0.11.pom结构(部分内部项目依赖已经隐藏)<dependency> &
- 最近做的一个小东西遇到这样的情况,我从一个页面MainActivity修改一些内容,需要跳转到一个新的EditActivity去做修改操作,
- 最近一段时间 某台服务器上的一个应用总是隔一段时间就自己挂掉 用top看了看 从重新部署应用开始没有多长时间CPU占用上升得很快排查步骤1.
- 前言我们都知道memberwiseclone 会将浅克隆。什么是浅克隆?如何深克隆呢?正文public class good{
- 本文实例为大家分享了Android studio实现简单计算器的具体代码,供大家参考,具体内容如下话不多说,首先附上代码:MainActiv
- Activity非异常情况下的生命周期是指,用户正常参与UI交互的情况下,Activity所经过的生命周期的改变;一般情况下,Activit
- 一、位运算的分类与展现效果java位运算可以分为左移和右移,其中右移还有无符号右移。 java只对整型位移,可以分为int体系和long体系
- 因为目前所用mybatis-plus版本为3.1.1,感觉是个半成品,所有在实体类上的注解只能支持单表,没有一对一和一对多关系映射,且该功能
- 本文实例讲述了Android编程中Tween动画和Frame动画实现方法。分享给大家供大家参考,具体如下:Animation主要有两种动画模
- (1)我们在访问Android的离线文档,是非常慢的,由于需要加载一些图片或者是动态的脚本语言js代码,网上的解决方法是删除所有的js含有链
- 目录多开理论基础多开实现原理解析代码实现:多开包名代码实现:多用户总结多开理论基础app多开常用于做一些不合法的事情,如高羊毛,黑灰产,甚至
- 1 前言ATMS 即 ActivityTaskManagerService,用于管理 Activity 及其容器(任务、堆栈、显示等)。AT
- 同线程回收对象上一小节剖析了从recycler中获取一个对象, 这一小节分析在创建和回收是同线程的前提下, recycler是如何进行回收的