2自定义View系列课程学习笔记——之Scroller和ViewDragHelper
来源:互联网 发布:linux下网络配置文件 编辑:程序博客网 时间:2024/04/29 23:30
2自定义View系列课程学习笔记——之Scroller和ViewDragHelper
一、Scroller的特点及本质
一个View视图中都包含Scroller方法,Scroller的本质是在滑动时,仅滑动View中的内容,而不是滑动整个View视图。
二、ViewDragHelper的特点
ViewDragHelper主要用于简化View视图的拖拽相关操作,从Touch事件的拦截到Touch事件的分发,可通过ViewDragHelper进行处理,具体如何使用,代码如下所示。
在自定义View中,首先需要初始化ViewDragHelper实例,并注册ViewDragHelper中的CallBack回调操作,在处理View视图的拖拽过程中,需要在CallBack回调中重写用于处理横向拖拽和垂直拖拽的越界问题,并处理拖拽状态发生改变,代码如下所示。
处理拖拽过程中水平方向的越界问题
处理拖拽过程中垂直方向的越界问题
处理拖拽过程中状态更新问题
这里需要注意的是,当通过ViewDragHelper处理视图拖拽操作时,需要对Touch事件进行拦截,并进行派发,拦截和派发都要由ViewDragHelper进行拦截,如果不进行此处理,在ViewDragHelper中自定义的视图拖拽效果,将不会实现。以下是代码是在自定义View中,重写了onInterceptTouchEvent方法,并通过ViewDragHelper实例,首先对Touch事件中的MotionEvent进行了拦截。
拦截Touch事件后,接下来在自定义View中重写onTouchEvent方法处理当前View对Touch事件的派发,将Touch事件交给ViewDragHelper进行处理,代码如下所示。
- 2自定义View系列课程学习笔记——之Scroller和ViewDragHelper
- 1自定义View系列课程学习笔记——之手势处理
- 3自定义View系列课程学习笔记——之Measure测量
- 自定义View笔记(三) --- ViewDragHelper
- 自定义View笔记(三) --- ViewDragHelper
- Android自定义组件系列【2】——Scroller类
- Android自定义组件系列【2】——Scroller类
- 自定义View——神之ViewDragHelper实现ListView滑动删除
- 学习笔记之自定义view
- 学习笔记之自定义View
- 自定义View学习之12/5(侧滑删除实现,ViewDragHelper)
- 自定义View学习笔记之自定义圆
- 自定义view学习系列之圆形进度条
- 自定义view之仿慕课网课程学习圆形进度
- Android学习Scroller(五)——详解Scroller调用过程以及View的重绘
- 《Android进阶之光》学习笔记——第三章 View体系与自定义View
- 自定义View学习笔记01—基础理论
- Andrew NG机器学习课程笔记系列之——从导数谈起
- 迁移学习:经典算法解析
- tf.nn.rnn_cell.BasicRNNCell函数的用法
- ros与V-rep联合使用血泪教训(ROS学习笔记四)
- LLVM & Clang
- org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read
- 2自定义View系列课程学习笔记——之Scroller和ViewDragHelper
- 其他没有转载的内容.各种小知识点
- JS使用ajax异步处理json响应数据
- js中的this指代全局对象
- python中for循环的用法
- CentOS 7:关闭firewall安装iptables并配置
- 算法设计与应用基础系列19
- 关于android 根据系统语言更改 app名字和其他配置
- Java 数组转换为list和set