在 OpenHarmony(ArkUI) 中,“菜单(Menu)”通常指 Menu 组件 以及与其配合使用的 bindMenu / bindContextMenu,不同层级的菜单支持的样式能力有所不同。下面按常见分类说明。
文本菜单项(MenuItem)
Menu() {
MenuItem({ content: '复制' })
MenuItem({ content: '粘贴' })
}
带图标的菜单项
MenuItem({ startIcon: $r('app.media.ic_copy'), content: '复制' })
分隔线
MenuItemGroup() {
MenuItem({ content: '新建' })
MenuItem({ content: '打开' })
}
MenuItemGroup:分组标题
MenuItemGroup({ header: '文件操作' }) {
MenuItem({ content: '保存' })
}
多级菜单(子菜单)
MenuItem({ content: '更多' })
.onClick(() => {
// 可绑定二级 Menu
})
禁用状态
MenuItem({ content: '删除' })
.enabled(false)
选中状态(UI 提示)
stateStyle 或自定义样式控制bindMenu(点击触发)
Button('菜单')
.bindMenu(this.myMenu)
bindContextMenu(长按/右键)
Text('长按菜单')
.bindContextMenu(this.myMenu, ResponseType.LongPress)
OpenHarmony 更推荐用自定义组件实现菜单,可完全控制样式:
Column() {
Text('复制')
Divider()
Text('粘贴')
}
.backgroundColor('#FFFFFF')
.borderRadius(12)
.padding(8)
| 设备类型 | 菜单样式特点 |
|---|---|
| 手机 | 底部弹窗 / 上下文菜单 |
| 平板 | 靠近控件显示 |
| 智慧屏 | 远距离遥控焦点样式 |
| PC | 右键菜单、悬浮菜单 |
✅ 支持:
❌ 系统 Menu 限制:
简单操作 → Menu 组件
复杂 UI / 品牌化 → 自定义菜单
如果你需要:
可以告诉我你的 设备类型和 OpenHarmony 版本(如 API 9 / 10 / 11)。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。