首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android 事件分发】ItemTouchHelper 实现拖动排序

事件传递机制 七 ) 【Android 事件分发】ItemTouchHelper 简介 ( 拖动/滑动事件 | ItemTouchHelper.Callback 回调 ) 【Android 事件分发...( 拖动/滑动 ) 重写 ItemTouchHelper.Callback 的 getMovementFlags 方法 , 该方法中设置滑动/拖动标志位 ; 滑动 / 拖动 标志 , 可使用 ItemTouchHelper.UP...return true; } } 3、拖动距离判定设置 重写 ItemTouchHelper.Callback 的 getMoveThreshold 方法 , 设置用户的拖动距离 , 组件宽度...class Callback extends ItemTouchHelper.Callback { /** * 拖动幅度设置 * 组件宽度 / 高度 上移动超过该比例 ,...倍, 即可触发拖动操作 return 0.9f; } } 上面案例中设置的拖动幅度是 0.9f , getMovementFlags 方法中设置的拖动方向是上下拖动 , 因此该案例中

2.1K10

Android 事件分发】ItemTouchHelper 简介 ( 拖动滑动事件 | ItemTouchHelper.Callback 回调 )

事件传递机制 七 ) 【Android 事件分发】ItemTouchHelper 简介 ( 拖动/滑动事件 | ItemTouchHelper.Callback 回调 ) 【Android 事件分发...】ItemTouchHelper 实现侧滑删除 ( 设置滑动方向 | 启用滑动操作 | 滑动距离判定 | 滑动速度判定 | 设置动画时间 | 设置侧滑触发操作 ) 【Android 事件分发】ItemTouchHelper...实现拖动排序 ( 设置滑动方向 | 启启用长按拖动功能 | 拖动距离判定 | 设置拖动触发操作 ) ---- 文章目录 Android 事件分发 系列文章目录 一、ItemTouchHandler 简介...二、ItemTouchHelper.Callback 自定义实现 1、设置移动标志 ( 拖动/滑动 ) 三、完整代码实现 1、主界面 2、ItemTouchHelper.Callback 回调类..., 长按后激活拖动操作 , 可用于拖动交换位置操作 ; 拖动 / 滑动 标志位可以使用 ItemTouchHelper.UP | ItemTouchHelper.DOWN , 或运算得到想要的标志位

1.6K10
您找到你想要的搜索结果了吗?
是的
没有找到

Android 事件分发】ItemTouchHelper 源码分析 ( OnItemTouchListener 事件监听器源码分析 二 )

事件传递机制 七 ) 【Android 事件分发】ItemTouchHelper 简介 ( 拖动/滑动事件 | ItemTouchHelper.Callback 回调 ) 【Android 事件分发...】ItemTouchHelper 实现侧滑删除 ( 设置滑动方向 | 启用滑动操作 | 滑动距离判定 | 滑动速度判定 | 设置动画时间 | 设置侧滑触发操作 ) 【Android 事件分发】ItemTouchHelper...实现拖动排序 ( 设置滑动方向 | 启启用长按拖动功能 | 拖动距离判定 | 设置拖动触发操作 ) 【Android 事件分发】ItemTouchHelper 事件分发源码分析 ( 绑定 RecyclerView...) 【Android 事件分发】ItemTouchHelper 源码分析 ( OnItemTouchListener 事件监听器源码分析 ) 【Android 事件分发】ItemTouchHelper...// 组件宽度 / 高度 上移动超过该比例 , 就认为拖动触发, 执行拖动相关操作 // 拖动多少系数 , 才算完成 拖动操作 final float threshold

1.1K20

Android 事件分发】ItemTouchHelper 实现侧滑删除

事件传递机制 七 ) 【Android 事件分发】ItemTouchHelper 简介 ( 拖动/滑动事件 | ItemTouchHelper.Callback 回调 ) 【Android 事件分发...实现拖动排序 ( 设置滑动方向 | 启启用长按拖动功能 | 拖动距离判定 | 设置拖动触发操作 ) ---- 文章目录 Android 事件分发 系列文章目录 一、ItemTouchHelper.Callback...---- 1、设置移动标志 ( 拖动/滑动 ) 重写 ItemTouchHelper.Callback 的 getMovementFlags 方法 , 该方法中设置滑动/拖动标志位 ; 滑动 / 拖动...getMovementFlags 方法中设置的滑动方向是左右滑动 , 因此该案例中 , 滑动幅度水平方向上超过 0.5 倍的条目组件宽度 , 侧滑删除才能生效 ; 下面的操作中 , 滑动水平方向上没有超过组件宽度的...return true; } /** * 拖动幅度设置 * 组件宽度 / 高度 上移动超过该比例 , 就认为拖动触发, 执行拖动相关操作 * @param

55420

Android之RecycleView实现指定范围的拖动效果

1 问题 RecycleView里面实现指定位置的拖动效果,(这里是实现线性布局的,不是网格布局的) @Override public boolean onMove(RecyclerView recyclerView...TAG, "onMove---------------------------------toPosition is:" + toPosition); //这里的position如果不是指定范围内的话...Log.i(TAG, "onMove---------------------------------toPosition is:" + toPosition); //这里的position如果不是指定范围内的话...prohibitDragIndexs.contains(index)) { itemTouchHelper.startDrag(vh) } } }) 到此这篇关于Android之RecycleView实现指定范围的拖动效果的文章就介绍到这了...,更多相关android recycleView实现指定范围的拖动内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

1.3K21

Android 事件分发】ItemTouchHelper 源码分析 ( OnItemTouchListener 事件监听器源码分析 )

事件传递机制 七 ) 【Android 事件分发】ItemTouchHelper 简介 ( 拖动/滑动事件 | ItemTouchHelper.Callback 回调 ) 【Android 事件分发...】ItemTouchHelper 实现侧滑删除 ( 设置滑动方向 | 启用滑动操作 | 滑动距离判定 | 滑动速度判定 | 设置动画时间 | 设置侧滑触发操作 ) 【Android 事件分发】ItemTouchHelper...实现拖动排序 ( 设置滑动方向 | 启启用长按拖动功能 | 拖动距离判定 | 设置拖动触发操作 ) 【Android 事件分发】ItemTouchHelper 事件分发源码分析 ( 绑定 RecyclerView...) 【Android 事件分发】ItemTouchHelper 源码分析 ( OnItemTouchListener 事件监听器源码分析 ) ---- 文章目录 Android 事件分发 系列文章目录...onInterceptTouchEvent ---- 1、onInterceptTouchEvent 方法简介 ItemTouchHelper 中定义的成员变量 private final

1.8K20

Android 事件分发】ItemTouchHelper 事件分发源码分析 ( 绑定 RecyclerView )

事件传递机制 七 ) 【Android 事件分发】ItemTouchHelper 简介 ( 拖动/滑动事件 | ItemTouchHelper.Callback 回调 ) 【Android 事件分发...】ItemTouchHelper 实现侧滑删除 ( 设置滑动方向 | 启用滑动操作 | 滑动距离判定 | 滑动速度判定 | 设置动画时间 | 设置侧滑触发操作 ) 【Android 事件分发】ItemTouchHelper...实现拖动排序 ( 设置滑动方向 | 启启用长按拖动功能 | 拖动距离判定 | 设置拖动触发操作 ) 【Android 事件分发】ItemTouchHelper 事件分发源码分析 ( 绑定 RecyclerView...) ---- 文章目录 Android 事件分发 系列文章目录 一、ItemTouchHelper 事件分发源码分析入口 二、ItemTouchHelper 绑定 RecyclerView 源码分析...添加拖动/滑动事件 Callback callback = new Callback(adapter); mItemTouchHelper = new ItemTouchHelper

37320

【RecyclerView】 十五、使用 ItemTouchHelper 实现 RecyclerView 拖动排序 ( ItemTouchHelper 简介 )

文章目录 一、ItemTouchHelper 简介 二、RecyclerView 相关资料 一、ItemTouchHelper 简介 ---- 官方文档 : https://developer.android.google.cn...和 拖动效果 ; ItemTouchHelper 需要与 RecyclerView 和 ItemTouchHelper.Callback 结合起来使用 ; 根据想要开发的功能 , 重写不同的方法 ;...如果是想要开发拖动效果相关的功能 , 重写 ItemTouchHelper.Callback 的 onMoved 方法 ; public abstract boolean onMove(..., 这两个操作 自定义 LayoutManager 布局管理器 , 可以达到最优化的效果 ; 看一下 Android 官方定义的 线性布局管理器 LinearLayoutManager , 就实现了 ItemTouchHelper.ViewDropHandler...//developer.android.google.cn/reference/kotlin/androidx/recyclerview/widget/ItemTouchHelper.Callback

77000

ItemTouchHelper 实现交互动画

01.拖拽需要实现功能 需要实现拖拽的功能如下所示 长按item后拖动,与其他item交换位置 按住item右面的图标后拖动,与其他item交换位置 左滑item变透明并缩小,超出屏幕后,其他item补上...onMove方法中处理拖拽的回调逻辑,那么什么时候被调用?当Item被拖拽排序移动到另一个Item的位置的时候被调用。onSwiped方法当Item被滑动删除到不见中处理被删除后的逻辑。...上下拖动时与其他item进行位置交换 ItemTouchHelper.Callback本身不具备将两个item互换位置的功能,但RecyclerView可以,我们可以item拖动的时候把当前item与另一个...04.拖拽效果上优化 拖拽效果优化 item被拖拽或侧滑时修改背景色,当动作结束后将背景色恢复回来,而ItemTouchHelper.Callback中正好有对应这两个状态的方法,分别是:onSelectedChanged...让item执行了两种属性动画而已,ItemTouchHelper.Callback中有一个方法可以拿到item被拖拽或滑动时的位移变化,那就是onChildDraw()方法,该方法中设置item渐变和缩放属性动画

3.8K20

android ItemTouchHelper实现可拖拽和侧滑的列表的示例代码

实现功能: 按住 item 左侧的按钮可以上下拖动 item 向右侧滑删除 item item 拖动或侧滑时有阴影效果 实现基本功能 循序渐进学习,这里我们先实现基本的功能: 长按 item 实现上下拖拽...从构造器: ItemTouchHelper(ItemTouchHelper.Callback callback) 可以看出,我们需要一个 ItemTouchHelper.Callback 去构造 ItemTouchHelper...写 MyItemTouchHelperCallback 之前我们先创建一个 IItemTouchHelperAdapter 接口,让 RecyclerViewAdapter 实现这个接口。...当item被侧滑时调用 * * @param position 被侧滑的item的position */ void onItemDismiss(int position); } ...提供的两个回调方法: onSelectedChanged(RecyclerView.ViewHolder viewHolder, int actionState) :当 ViewHolder (即 item )滑动或拖动时被调用

1.3K11

Android实现可拖拽列表和多选功能

本文实例为大家分享了Android实现可拖拽列表和多选的具体代码,供大家参考,具体内容如下 这是我已经完成的一个已经上线的OA软件的一个模块,这个模块的功能不多,已经放到GitHub上面开源了,有感兴趣的朋友可以看看...UIFrame 主窗口JAVA代码 /** * 编辑状态下长按拖动条目 * 1.通过ItemTouchHelper.Callback实现长按拖动 * 2.通过isEditable的值判断是否编辑状态,初值是...break; } if (i == mClsOnlineReportList.size() - 1) { mToolbar.setVisibility(View.GONE); } } } else { //非编辑模式下...* 2.onSelectedChanged里面表示拖动状态下改变背景色,拖动完成后恢复背景色 * 3.拖动完成的时候viewHolder的值为空!!!...{ srcHolder.itemView.setBackground(drawable); } } } 图片使用Android Studio内置的SVG,引入了ButterKnife绑定控件,另外内部类使用了

1.5K20

Android 事件分发】MotionEvent.ACTION_DOWN 按下事件分发流程( Activity | ViewGroup | View )

Android 事件分发 系列文章目录 【Android 事件分发】事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) 【Android...事件传递机制 七 ) 【Android 事件分发】ItemTouchHelper 简介 ( 拖动/滑动事件 | ItemTouchHelper.Callback 回调 ) 【Android 事件分发...】ItemTouchHelper 实现侧滑删除 ( 设置滑动方向 | 启用滑动操作 | 滑动距离判定 | 滑动速度判定 | 设置动画时间 | 设置侧滑触发操作 ) 【Android 事件分发】ItemTouchHelper...实现拖动排序 ( 设置滑动方向 | 启启用长按拖动功能 | 拖动距离判定 | 设置拖动触发操作 ) 【Android 事件分发】ItemTouchHelper 事件分发源码分析 ( 绑定 RecyclerView...) 【Android 事件分发】ItemTouchHelper 源码分析 ( OnItemTouchListener 事件监听器源码分析 ) 【Android 事件分发】ItemTouchHelper

1.6K20

RecyclerView 梳理:点击&长按事件、分割线、拖曳排序、滑动删除

从这篇文章主要梳理以下几点: 优雅的实现:item 点击事件 & item 长点击事件 RecyclerView 添加 divider 的标准姿势 RecyclerView 实现 item 的拖曳排序和滑动删除 拖曳排序时,限制首个...android:divider="#ffff0000" android:dividerHeight="10dp" android:layout_width="match_parent...ItemTouchHelper 会在拖拽的时候回调 Callback 中相应的方法,我们只需 Callback 中实现自己的逻辑。...RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) { //拖动的...item 的下标 int fromPosition = viewHolder.getAdapterPosition(); //目标 item 的下标,目标 item 就是当拖曳过程中,不断和拖动

2.9K30
领券