当前位置: 首页 > news >正文

鸿蒙开发List长按Item拖拽切换效果

鸿蒙开发List长按Item拖拽切换效果

android就很常见长按item拖来拖去切换,鸿蒙中也可以做,就是麻烦一点。

一、效果图:

在这里插入图片描述
这个看视频更直观点:

鸿蒙开发教程实战案例源码分享-List长按Item拖拽切换效果

二、思路:

自定义CardSortListItem组件,还有Image的gesture方法

三、关键代码:
@Entry
@ComponentV2
struct Index {@Local currentCardSort: Array<number> = []aboutToAppear(): void {this.currentCardSort = Constants.DEFAULT_CARD_SORT}build() {Column() {Text("长按item拖拽切换不同位置item").fontSize(24).fontWeight(FontWeight.Bold).margin({top:100})Stack() {this.cardSortList()}.width('100%').layoutWeight(1).margin({top:16})}.height('100%').width('100%')}@BuildercardSortList() {List() {ForEach(this.currentCardSort, (item: number) => {CardSortListItem({weatherCardItemType: item,index: this.currentCardSort.findIndex(it => it == item),length: this.currentCardSort.length,onReorderStart: () => {return true},onChangeItem: (from, to) => {if (ArrayUtil.isNotEmpty(this.currentCardSort)) {const tmp = this.currentCardSort.splice(from, 1)this.currentCardSort.splice(to, 0, tmp[0])}},onReorderDone: () => {},onWeatherObserveSortTap: () => {}})}, (item: number) => item.toString())}.width('100%').height('100%').divider({ strokeWidth: 12, color: $r('app.color.transparent') })}
}
四、项目demo源码结构图:

在这里插入图片描述

有需要完整demo源码的私信我,我每天都看私信的

http://www.lryc.cn/news/580010.html

相关文章:

  • kali安装教程
  • CI/CD持续集成与持续部署
  • spring boot项目配置使用minion
  • 【1】确认安装 Node.js 和 npm版本号
  • 3-1 PID算法改进(积分部分)
  • OpenHarmony 5.0 SIM卡信号格没有变化解决方案(修改成符合标准的信号变化)
  • 《探秘JavaScript虚拟列表:解锁高性能渲染的底层逻辑》
  • 我想要学写GitHub(草拟计划+目标)
  • 【2025/07/04】GitHub 今日热门项目
  • Fiddler 中文版怎么配合 Postman 与 Wireshark 做多环境接口调试?
  • cd-agent更换cd模型(自用)
  • 计算机科学导论(1)哈佛架构
  • 分布式光伏监控系统防孤岛保护装置光功率预测
  • 科学的第五范式:人工智能如何重塑发现之疆
  • CANFD 数据记录仪在新能源汽车售后维修中的应用
  • ZKmall模块商城批发电商平台搭建方案,多商户支持 + 订单管理功能全覆盖
  • 结构型智能科技的关键可行性——信息型智能向结构型智能的转换(提纲)
  • SQL 快速参考手册-SQL001
  • Android 安装使用教程
  • M30280F8HP#U5B 瑞萨16位工业MCU微控制器,CAN 2.0B+专用PWM,电机控制专家!
  • Android理解onTrimMemory中ComponentCallbacks2的内存警戒水位线值
  • 深入解析XFS文件系统:原理、工具与数据恢复实战
  • 《软件测试架构实践与精准测试》| 认识测试流程
  • Java泛型笔记
  • 简述MCP的原理-AI时代的USB接口
  • Gazebo插件介绍[ros-noetic版本]
  • 架构师面试题
  • Python 办公实战:用 python-docx 自动生成 Word 文档
  • 【IPMV】图像处理与机器视觉:Lec13 Robust Estimation with RANSAC
  • AI智能体革命:从ChatGPT到自主决策的技术演进