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

Android使用RecycleView实现拖拽交换item位置

本文实例为大家分享了RecycleView实现拖拽交换item位置的具体代码,供大家参考,具体内容如下 老规矩,先来一张效果图: ?...相比起ListView而言,RecycleView实现拖拽交换位置的效果要简单很多,因为通过SDK中的ItemTouchHelper工具类可以轻松的实现这种效果,并且一套代码支持所有布局方式;而ListView...滑动的方向 public abstract int getMovementFlags(RecyclerView recyclerView, ViewHolder viewHolder); //和位置交换有关...RecyclerView recyclerView, RecyclerView.ViewHolder source, RecyclerView.ViewHolder target) { //通过接口传递拖拽交换数据的起始位置和目标位置的...target.getAdapterPosition(); if (fromPosition < mData.size() && toPosition < mData.size()) { //交换数据位置

3K32
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    1小时搞定卡片拖拽、自动排列交换位置拖拽数据存取

    这是这次系列文章的第一篇,我自己封装了一个用vue实现的拖拽排列卡片组件,并且发布到npm,详细地记录下来了整体制作过程。...,并且其他卡片根据拖动的位置自动顺移,位置数据实时更新 拖动的时候可使用鼠标滚动 卡片根据数据生成,所有参数和内容都是可以自定义的,方便应用于不同场景 不同操作的事件都可获取到,拖动后的位置数据会实时更新...下载carddragger npm install carddragger 复制代码 全局安装 在你vue项目的入口js文件中使用,vue-cli生成的项目一般为main.js文件 import {installCardDragger...,是卡片需要交换位置号码 第三个参数originItem,是卡片交换完成后的数据 finishDrag 事件作用: 拖拽完成松开鼠标后,触发此事件 事件参数: swicthPosition(oldPositon...,newPositon,originItem) 第一个参数oldPositon,是卡片原来的位置号码 第二个参数newPositon,是卡片需要交换位置号码 第三个参数originItem,是卡片交换完成后的数据

    4K21

    js拖拽自动排列

    上一次写了拖拽,其实主要还是想实现拖拽之后实现自动排列,跟手机屏幕那样移动图标可以自动排列,先看效果: ? 很常见的一个效果,先说一下思路: 每一个元素都是绝对定位,初始化的时候是通过js去排列。...拖拽使用的方法跟上一篇文章一模一样。...定义了一个数组,每个元素的字段: {el: elArr[i], sort: i, index: i} el是这个元素,用于排列,也就是改变top和left,sort是元素排列的位置,index是当前元素的...拖拽的时候,当鼠标点击选中当前的元素的时候,这个元素移动,当移动到另一个元素一半的时候,相当于要替换这个元素,我是以这样一个方法判断移动到哪一个位置: let moveIndex = Math.round

    5.7K20
    领券