MenuItem里的icon图标怎么改颜色

MenuItem里的icon图标怎么改颜色

HarmonyOS
2024-01-30 23:30:57
2932浏览
收藏 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%') 
  } 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
分享
微博
QQ
微信
回复
2024-02-01 11:50:52


相关问题
HarmonyOS 怎么改pixelmap颜色
552浏览 • 1回复 待解决
怎么改通知上图标有知道吗?
4989浏览 • 1回复 待解决
HarmonyOS 如何改变图标icon颜色
619浏览 • 1回复 待解决
如何修改应用icon图标
3014浏览 • 1回复 待解决
HarmonyOS image图标怎么变成其他颜色
1967浏览 • 1回复 待解决
HarmonyOS icon图标
722浏览 • 1回复 待解决
ArkUI转场动画可以颜色吗?
2633浏览 • 1回复 待解决
使用icon图标不清晰有锯齿
1163浏览 • 1回复 待解决
buttom样式怎么改成透明
577浏览 • 0回复 待解决
HarmonyOS 状态栏图标颜色设置
897浏览 • 1回复 待解决
HarmonyOS APP在设置图标如何设置
417浏览 • 1回复 待解决