HarmonyOS应用开发实战:猫猫大作战-弹出菜单的实现
·


前言
弹出菜单(Menu/ContextMenu)是移动应用中的快捷操作入口——长按某个元素后弹出操作列表。HarmonyOS 通过 bindContextMenu 和 Menu 组件实现弹出菜单。
本文以「猫猫大作战」的猫咪长按菜单为锚点,讲解弹出菜单的实现。
提示:本系列不讲 ArkTS 基础语法与环墋搭建,假设你已跟完第 1–99 篇。本篇是阶段三第 100 篇。
一、Menu 基本用法
1.1 bindContextMenu
Column() {
Text('🐱 长按我')
}
.bindContextMenu(this.CatMenu(), true) // true = 长按触发
1.2 菜单构建
@Builder
CatMenu() {
Menu() {
MenuItem({ content: '查看详情', onClick: () => {} })
MenuItem({ content: '合并', onClick: () => {} })
MenuItem({ content: '删除', onClick: () => {} })
}
}
二、游戏中的应用
CatCard({ cat: item })
.bindContextMenu(this.CatContextMenu(item), true)
@Builder
CatContextMenu(cat: Cat) {
Menu() {
MenuItem({ content: `🐱 ${CatConfig[cat.level].name}` })
MenuItem({ content: '查看详情', onClick: () => this.showDetail(cat) })
MenuItem({ content: '合并优先', onClick: () => this.mergePriority(cat) })
}
}
三、总结
Menu 通过 bindContextMenu 绑定到组件,长按触发弹出操作列表。
核心要点:
.bindContextMenu(builder, isLongPress)绑定菜单Menu+MenuItem构建菜单项- 适合长按列表项弹出操作的场景
下一篇预告:第 101 篇将深入 anchorPosition——菜单锚点定位。
如果这篇文章对你有帮助,欢迎点赞👍、收藏⭐、关注🔔,你的支持是我持续创作的动力!
相关资源:
更多推荐

所有评论(0)