android 事件拦截 (Viewpager不可以左右滑动)
以前没有做过真正的需求,所以从来没有觉得事件拦截分发处理有什么好懂的。
现在做需求了,真的是什么需求都有,你作为开发都要去研究实现。比如说,只能点不能滑动的viewpager。其实这都可以不用viewpager了。直接用fragment的replace掉就行了。那我想要不可以滑动的viewpager怎么办。
很简单,在处理事件的时候,return true表示自己处理,不往下面传递。自己消费,那如果你不想自己处理,自己不做任何处理,就 return false; 那viewpager就不会滑动了。
下面就是不可以滑动的viewpager:
禁止左右滑动 包括连续滑动也不响应
同时不影响setCurrentItem/*
* 文件名:CustomViewPager
*/package com.example.widget;import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;public class CustomViewPager extends ViewPager {private boolean enabled = false;public CustomViewPager(Context context) {super(context);}public CustomViewPager(Context context, AttributeSet attrs) {super(context, attrs);}@Overridepublic boolean onTouchEvent(MotionEvent event) {// 触摸事件不触发if (this.enabled) {return super.onTouchEvent(event);}return false;}@Overridepublic boolean onInterceptTouchEvent(MotionEvent event) {// 不处理触摸拦截事件if (this.enabled) {return super.onInterceptTouchEvent(event);}return false;}@Overridepublic boolean dispatchTouchEvent(MotionEvent event) {// 分发事件,这个是必须要的,如果把这个方法覆盖了,那么ViewPager的子View就接收不到事件了if (this.enabled) {return super.dispatchTouchEvent(event);}return super.dispatchTouchEvent(event);}public void setPagingEnabled(boolean enabled) {this.enabled = enabled;}
}
android 事件拦截 (Viewpager不可以左右滑动)相关推荐
- 【Android 事件分发】ItemTouchHelper 简介 ( 拖动/滑动事件 | ItemTouchHelper.Callback 回调 )
Android 事件分发 系列文章目录 [Android 事件分发]事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) [Andr ...
- android 拦截点击事件,Android事件拦截机制
一直对事件拦截不是很清楚,读Android群英传的笔记,记录下. 要了解事件拦截,首先要了解触摸事件,触摸事件是捕获触摸屏幕后发生的事件.按一下屏幕通常会有几个事件发生,当按下屏幕,这是事件1.滑动了 ...
- 反思|Android 事件拦截机制的设计与实现,android组件化开发
最顶层View直接持有最下层某个View的引用合理吗?答案是否定的.首先,这导致View层级依赖之间的混乱:其次,顶层View本身持有了最下层某个View的引用,则这之间若干个层级的View的targ ...
- Android开发之ViewPager结合Fragment实现滑动页面的效果(源代码分享)
前段日子的博客有介绍过关于ViewPager的使用,发现大家对那篇博客都情有独钟,今天我们就在来看一下ViewPager在Fragment中的使用吧,因为ViewPager是在补丁包中添加的低版本的包 ...
- Android:Touch事件拦截机制
道长说了这么多自定义View,还没说自定义View会遇到什么问题,其实这个问题不止在自定义View中存在.在开发中遇到控件嵌套,堆叠都会出现,比如:点击子控件,子控件接收不到点击事件等等.这里道长简单 ...
- 【Android 事件分发】ItemTouchHelper 源码分析 ( OnItemTouchListener 事件监听器源码分析 二 )
Android 事件分发 系列文章目录 [Android 事件分发]事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) [Andr ...
- 【Android 事件分发】ItemTouchHelper 源码分析 ( OnItemTouchListener 事件监听器源码分析 )
Android 事件分发 系列文章目录 [Android 事件分发]事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) [Andr ...
- Android事件传递机制(转)
Android事件构成 在Android中,事件主要包括点按.长按.拖拽.滑动等,点按又包括单击和双击,另外还包括单指操作和多指操作.所有这些都构成了Android中的事件响应.总的来说,所有的事件都 ...
- 【Android 事件分发】MotionEvent.ACTION_DOWN 按下事件分发流程( Activity | ViewGroup | View )
Android 事件分发 系列文章目录 [Android 事件分发]事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) [Andr ...
最新文章
- 没有绿幕,AI也能完美视频抠图,发丝毕现,毫无违和感 | CVPR
- App设计灵感之十二组精美的电商App设计案例
- 外卖匹配系统_“外卖智能算法”和大学生有啥关系?来自工科生的专业分析
- js中将有层级关系的一维数据转换为父子级关系的二维数据、菜单权限三级层级数据实现(树形结构数据)
- vue-ls vue 本地储存示例
- 十个C语言项目,从小白到月入10K
- 窥探PTAM之Mapping线程
- java中instanceof是什么意思_java 中的instanceof用法详解及instanceof是什么意思(推荐)...
- Java调用阿里云对象存储OSS
- BT技术原理(BitTorrent)
- Arction图表控件LightningChart振动分析可以检测什么?
- 输入一个年份和一个月份,输出该年该月有多少天
- 华为云服务器更换操作系统,云服务器更换操作系统
- 如何写好 5000 行的 SQL 代码
- Tableau实战 公司投资分析
- word中右键图片菜单没有更改图片选项
- python-纯函数
- 模拟卷Leetcode【普通】377. 组合总和 Ⅳ
- iOS初级开发学习笔记:微信充值
- 视频超分辨率重建测试集下载(VID4数据集、UDM10数据集)
热门文章
- matlab在线性系统理论中的应用,线性系统理论相关的matlab应用.ppt
- mysql 中文 length_mysql length()中文长度一些问题整理
- java futher多线程_Java多线程系列--“JUC集合”05之 ConcurrentSkipListMap
- 后台定时给页面发送数据_苹果CMS10全自动定时采集教程
- c 初始化char**_CC++|指针详述及实例分析
- vim配置python开发环境_VIM插件管理及python开发环境配置
- linux中python如何调用matlab的数据_?如何在Python中加入多个数据帧?
- PythonNET网络编程3
- ScheduledThreadPoolExecutor详解
- Qt5: SpringAnimation