当前位置: 首页 > news >正文

HarmonyOS 6 ChipGroup Symbol 图标使用文档

文章目录什么是 Symbol 图标代码详解1. 定义 Symbol 状态变量normal activated2. Chip 内部配置 Symbol 图标3. 最右侧 BuilderSymbol 图标按钮4. 绑定右侧 Symbol Builder代码总结什么是 Symbol 图标HarmonyOS 系统级矢量图标支持自定义颜色、大小、状态比普通图片更清晰、占用资源更小支持normal未选中/ activated选中双状态自动切换代码详解1. 定义 Symbol 状态变量normal activated// 前置图标未选中状态星星StateprefixModifierNormal:SymbolGlyphModifiernewSymbolGlyphModifier($r(sys.symbol.ohos_star));// 前置图标选中状态红色星星StateprefixModifierActivated:SymbolGlyphModifiernewSymbolGlyphModifier($r(sys.symbol.ohos_star)).fontColor([Color.Red]);// 后置图标未选中状态WiFiStatesuffixModifierNormal:SymbolGlyphModifiernewSymbolGlyphModifier($r(sys.symbol.ohos_wifi));// 后置图标选中状态红色WiFiStatesuffixModifierActivated:SymbolGlyphModifiernewSymbolGlyphModifier($r(sys.symbol.ohos_wifi)).fontColor([Color.Red]);$r(sys.symbol.xxx)系统内置 Symbol 图标.fontColor([Color.Red])自定义选中颜色一套变量自动适配未选中/选中两种状态2. Chip 内部配置 Symbol 图标items:[{// 前置 Symbol 图标自动切换状态prefixSymbol:{normal:this.prefixModifierNormal,// 未选中activated:this.prefixModifierActivated// 选中},label:{text:操作块1},// 后置 Symbol 图标suffixSymbol:{normal:this.suffixModifierNormal,activated:this.suffixModifierActivated},allowClose:false,},...]prefixSymbolChip 左侧 Symbol 图标suffixSymbolChip 右侧 Symbol 图标无需手动控制状态Chip 选中时自动切换为 activated 样式3. 最右侧 BuilderSymbol 图标按钮LocalBuilderChipGroupSuffix():void{IconGroupSuffix({items:[// 右侧自定义 Symbol 按钮搜索图标newSymbolGlyphModifier($r(sys.symbol.magnifyingglass)).onClick((){// 全选 / 取消全选 逻辑if(this.selected_statefalse){this.selected_index[0,1,2,3,4,5,6];this.selected_statetrue;}else{this.selected_index[];this.selected_statefalse;}})]})}直接在IconGroupSuffix中使用new SymbolGlyphModifier支持.onClick()绑定点击事件实现标签组最右侧 Symbol 自定义按钮4. 绑定右侧 Symbol BuilderChipGroup({...其他配置,suffix:this.ChipGroupSuffix// 绑定右侧 Symbol 自定义 Builder})代码import{ChipSize,ChipGroup,IconGroupSuffix,SymbolGlyphModifier}fromkit.ArkUI;EntryPreviewComponentstruct Index{Stateselected_index:Arraynumber[0,1,2,3,4,5,6];Stateselected_state:booleantrue;StateprefixModifierNormal:SymbolGlyphModifiernewSymbolGlyphModifier($r(sys.symbol.ohos_star));StateprefixModifierActivated:SymbolGlyphModifiernewSymbolGlyphModifier($r(sys.symbol.ohos_star)).fontColor([Color.Red]);StatesuffixModifierNormal:SymbolGlyphModifiernewSymbolGlyphModifier($r(sys.symbol.ohos_wifi));StatesuffixModifierActivated:SymbolGlyphModifiernewSymbolGlyphModifier($r(sys.symbol.ohos_wifi)).fontColor([Color.Red]);LocalBuilderChipGroupSuffix():void{// 开发者通过引用IconGroupSuffix实现组件最右侧的自定义组件效果。IconGroupSuffix({items:[newSymbolGlyphModifier($r(sys.symbol.magnifyingglass)).onClick((){if(this.selected_statefalse){this.selected_index[0,1,2,3,4,5,6];this.selected_statetrue;}else{this.selected_index[];this.selected_statefalse;}})]})}build(){Column(){ChipGroup({// items内每个对象设置的都是每个Chip的特定属性。items:[{prefixSymbol:{normal:this.prefixModifierNormal,activated:this.prefixModifierActivated},label:{text:操作块1},suffixSymbol:{normal:this.suffixModifierNormal,activated:this.suffixModifierActivated},allowClose:false,},{prefixSymbol:{normal:this.prefixModifierNormal,activated:this.prefixModifierActivated},label:{text:操作块2},allowClose:true,},{prefixIcon:{src:$r(sys.media.ohos_ic_public_clock)},label:{text:操作块3},allowClose:true,},{prefixIcon:{src:$r(sys.media.ohos_ic_public_cast_stream)},label:{text:操作块4},allowClose:true,},{prefixIcon:{src:$r(sys.media.ohos_ic_public_cast_mirror)},label:{text:操作块5},allowClose:true,},{prefixIcon:{src:$r(sys.media.ohos_ic_public_cast_stream)},label:{text:操作块6},allowClose:true,},],// 设置Chip的style属性。itemStyle:{size:ChipSize.NORMAL,backgroundColor:$r(sys.color.ohos_id_color_button_normal),fontColor:$r(sys.color.ohos_id_color_text_primary),selectedBackgroundColor:$r(sys.color.ohos_id_color_emphasize),selectedFontColor:$r(sys.color.ohos_id_color_text_primary_contrary),},selectedIndexes:this.selected_index,multiple:true,chipGroupSpace:{itemSpace:8,endSpace:0},chipGroupPadding:{top:10,bottom:10},onChange:(activatedChipsIndex:Arraynumber){console.info(chips on clicked, activated index activatedChipsIndex);},// 自定义builder在组件最右侧显示自定义的内容。suffix:this.ChipGroupSuffix})}}}运行效果如图总结必须导入SymbolGlyphModifier否则无法创建 Symbol 实例系统 Symbol 资源固定写法$r(sys.symbol.xxx)Chip 内 Symbol 必须配置normal activated两个状态右侧 Builder 可直接使用new SymbolGlyphModifier并绑定点击事件Symbol 支持.fontColor()、.fontSize()等丰富样式定制可与prefixIcon普通图标混合使用如果这篇文章对你有帮助欢迎点赞、收藏、关注你的支持是持续创作的动力
http://www.zskr.cn/news/1396530.html

相关文章:

  • DeepSeek降AI提示词大全+热门降AI工具横向测评:我把AI率干到了6%! - 殷念写论文
  • ClaudeCode入门11-CLAUDE.md深度配置(小白入门:让AI真正“懂“你的项目,效率翻10倍的秘密武器)
  • 【深度解析】Open Human:Local-First 记忆树驱动的桌面 AI Agent 架构与实战
  • 面试官:Plan-Execute-Replan 和 ReAct 有啥区别?
  • 【会议征稿通知 | 中南民族大学主办 | IET出版 | EI 、Scopus稳定检索】第十一届人工智能与工程管理国际学术会议(ICAIEM 2026)
  • FlashAttention在昇腾NPU上的极致优化:从原理到实践
  • 京东三面:Function Calling 和 MCP 都能做工具调用,那具体什么场景下该选哪个?
  • 物联网能量预测:多算法融合框架在嵌入式平台的实现与优化
  • 2026私域SCRM工具热门排行榜
  • 2026年香港及大陆地区十大GEO(生成式引擎优化)服务商及GEO深度研究报告
  • 保姆级教程:在讯为RK3588开发板上从零构建带桌面的Ubuntu 20.04.5系统(含WiFi/蓝牙驱动配置)
  • 【算法分析与设计】第11篇:图的表示与遍历算法:BFS与DFS的扩展性质
  • 自动化部署项目软件 Jenkins
  • 收藏!从提示词小白到AI大模型开发者,你需要的不只是工具
  • 终极指南:如何永久保存你的微信聊天记录?免费开源工具WeChatExporter完整教程
  • 2026 年论文双检通关指南:9 款查重 + 降 AIGC 工具横评
  • 北京上门回收明清古籍老书旧书 金石拓片印谱正规渠道首选 - 品牌排行榜单
  • 一文啃完DNS:原理+查询+BIND部署全攻略
  • 2026年AI漫剧视频模型行业白皮书
  • 国内地基地梁模板头部供应商排行 实测维度客观对比 - 奔跑123
  • 鸿蒙 地理编码:正地理编码与逆地理编码
  • 别再只会点灯了!用STM32CubeMx配置GPIO输出模式(推挽/开漏)的实战避坑指南
  • 关于 GEO 的常见误区:你需要避免的五个关键认知偏差
  • 半监督主动学习:结合自监督与多样性采样提升数据利用效率
  • 成都靠谱训犬寄养优选指南|锦江/武侯/成华/青羊/郫都/双流5家店铺推荐 - 资讯速览
  • 深圳小程序公司推荐 助力企业数字化转型优质服务商 - 软件测评师
  • c语言中条件操作符(a>b ? a : b)
  • RabbitMQ 死信交换机与延迟队列:TTL、DLX、DelayExchange怎么理解
  • 生活垃圾处理设备厂家选购指南:如何选到合规高效的解决方案 - 资讯速览
  • 2026年电竞椅牌子推荐:拓际TGIF大牌风范 - 13425704091