MenuItem里的icon图标怎么改颜色

MenuItem里的icon图标怎么改颜色

HarmonyOS
2024-01-30 23:30:57
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
babebo

设置一个状态变量用来表示图标的路径,可以通过在onChange事件中,通过改变状体变量的值来改变一个该图标,改变的图标和原来的图标样式相同,颜色不同。

示例代码

@Entry 
@Component 
struct MenuTest { 
  @State select: boolean = true 
  @State iconStr: ResourceStr = $r("app.media.menu") 
  private iconStr2: ResourceStr = $r("app.media.app_icon") 
 
  @Builder 
  SubMenu() { 
    Menu() { 
      MenuItem({ content: "复制", labelInfo: "Ctrl+C" }) 
      MenuItem({ content: "粘贴", labelInfo: "Ctrl+V" }) 
    } 
  } 
 
  @Builder 
  MyMenu() { 
    Menu() { 
      MenuItem({ startIcon: $r("app.media.icon"), content: "菜单选项" }) 
      MenuItem({ startIcon: $r("app.media.icon"), content: "菜单选项" }) 
        .enabled(false) 
      MenuItem({ 
        startIcon: this.iconStr, 
        content: "菜单选项", 
        endIcon: $r("app.media.arrowRight"), 
        builder: (): void => this.SubMenu() 
      }) 
        .onChange((selected) => { 
          console.info("menuItem select" + selected); 
          this.iconStr = $r("app.media.menu1"); 
        }) 
      MenuItemGroup({ header: '小标题' }) { 
        MenuItem({ content: "菜单选项" }) 
          .selectIcon(true) 
          .selected(this.select) 
          .onChange((selected) => { 
            console.info("menuItem select" + selected); 
            this.iconStr2 = $r("app.media.icon"); 
          }) 
        MenuItem({ 
          startIcon: $r("app.media.menu"), 
          content: "菜单选项", 
          endIcon: $r("app.media.arrowRight"), 
          builder: (): void => this.SubMenu() 
        }) 
      } 
 
      MenuItem({ 
        startIcon: this.iconStr2, 
        content: "菜单选项", 
        endIcon: $r("app.media.arrowRight") 
      }) 
    } 
  } 
 
  build() { 
    Row() { 
      Column() { 
        Text('点击展示菜单') 
          .fontSize(50) 
          .fontWeight(FontWeight.Bold) 
      } 
      .bindMenu(this.MyMenu) 
      .width('100%') 
    } 
    .height('100%') 
  } 
}
分享
微博
QQ
微信
回复
2024-02-01 11:50:52
相关问题
怎么改通知上图标有知道吗?
2844浏览 • 1回复 待解决
如何修改应用icon图标
704浏览 • 1回复 待解决
ArkUI转场动画可以颜色吗?
617浏览 • 1回复 待解决
JS 卡片背景颜色怎么修改呢?
5437浏览 • 3回复 待解决
text怎么更改部分文字颜色
5724浏览 • 1回复 待解决
DevEco Studio怎么调出快捷工具图标
7568浏览 • 6回复 已解决
TextField怎么给某段文字设置颜色
7800浏览 • 2回复 待解决
鸿蒙怎么 修改状态栏字体颜色
10715浏览 • 1回复 待解决
popup组件气泡框指向颜色怎么修改?
5690浏览 • 1回复 待解决
通知怎么显示图片有知道吗?
4126浏览 • 2回复 待解决
工具类怎么调用startAbility?
3599浏览 • 1回复 待解决