在 OpenHarmony(ArkUI / eTS 开发) 中,“菜单添加图标”通常分几种场景,下面给你最常见的做法。
Menu + MenuItem 添加图标(推荐)适用于 右键菜单、点击弹出菜单。
@Entry
@Component
struct MenuExample {
@State showMenu: boolean = false
build() {
Column() {
Button('点击显示菜单')
.onClick((event) => {
this.showMenu = true
})
.bindMenu([
{
value: '新建',
icon: $r('app.media.ic_new'), // 图标
action: () => {
console.log('新建')
}
},
{
value: '删除',
icon: $r('app.media.ic_delete'),
action: () => {
console.log('删除')
}
}
])
}
.width('100%')
.height('100%')
}
}
entry/src/main/resources/base/media/png / jpg / svg$r('app.media.xxx') 引用@Menu + MenuItem(自定义菜单)适合 复杂菜单、带样式控制。
@Entry
@Component
struct CustomMenu {
@Builder
myMenu() {
Menu() {
MenuItem({ value: '分享', icon: $r('app.media.ic_share') })
.onClick(() => console.log('分享'))
MenuItem({ value: '收藏', icon: $r('app.media.ic_star') })
.onClick(() => console.log('收藏'))
}
}
build() {
Column() {
Button('显示菜单')
.bindMenu(this.myMenu)
}
}
}
List / Navigation 菜单中添加图标如果是 侧边栏 / 设置菜单:
List() {
ListItem() {
Row() {
Image($r('app.media.ic_home'))
.width(24)
.height(24)
Text('首页')
.margin({ left: 12 })
}
}
}
OpenHarmony 提供部分 Symbol 图标(API 10+):
Image($r('sys.media.ohos_ic_public_add'))
.width(24)
.height(24)
✅ 检查:
media 目录$r()Image($r('app.media.ic_new'))
.width(20)
.height(20)
如果你能说明:
我可以给你更精确的示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。