Android之禁止ViewPager滑动实现实例

作者:Lindroy 时间:2022-03-17 23:55:40 

Android之禁止ViewPager滑动实现实例

当我们想在同一个Activity或者Fragment中展示多个页面时往往会用到ViewPager,通过滑动,我们可以很方便地在不同的页面中切换。但是在某些情况下我们可能并不需要通过滑动来切换ViewPager中的页面(比如为了避免跟页面内的某些触摸事件冲突),而是希望只点击下面或者上面的按钮来切换页面。像知乎那样:

Android之禁止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,ViewPager
0
投稿

猜你喜欢

  • SpringBoot2.0集成WebSocket实现后台向前端推送信息

    2023-08-22 18:50:39
  • springboot+mybatis-plus 两种方式打印sql语句的方法

    2022-12-29 13:41:11
  • java之swing下拉菜单实现方法

    2023-07-12 04:55:30
  • java 中如何实现 List 集合去重

    2023-10-07 07:54:06
  • Java中mybatis的三种分页方式

    2021-06-25 11:14:05
  • Spring Data Jpa框架最佳实践示例

    2021-11-25 00:43:01
  • Spring Security基于json登录实现过程详解

    2023-12-07 07:15:18
  • JAVA集合框架Map特性及实例解析

    2021-06-05 02:23:39
  • java 实现迷宫回溯算法示例详解

    2023-12-14 23:52:26
  • 全面解析Hibernate关联操作、查询操作、高级特性、并发处理机制

    2021-06-25 08:48:48
  • SpringMVC+EasyUI实现页面左侧导航菜单功能

    2022-09-30 17:11:01
  • JAVA中Comparable接口和自定义比较器示例讲解

    2023-11-20 22:16:32
  • RocketMQ之NameServer架构设计及启动关闭流程源码分析

    2021-07-30 20:43:56
  • Logger.error打印错误异常的详细堆栈信息

    2022-01-06 23:03:04
  • Java 开启多线程常见的4种方法

    2023-11-23 02:30:10
  • Java实现配置加载机制

    2023-11-26 09:03:38
  • java struts2学习笔记之线程安全

    2022-08-07 00:13:07
  • Mybatis实现增删改查(CRUD)实例代码

    2022-10-05 20:03:22
  • Spring5路径匹配器PathPattern解析

    2021-07-09 00:12:28
  • Mybatis-Plus分页的使用与注意事项

    2022-08-14 22:00:56
  • asp之家 软件编程 m.aspxhome.com