内置免费图标!SymbolGlyphs|鸿蒙动效开发笔记 04|Extras 原创

awa_Liny
发布于 2024-10-20 22:35
浏览
0收藏

这篇笔记将介绍 HarmonyOS NEXT 应用开发里非常好用的 官方内置图标库 和 原生图标组件。


妙用这套组合拳可以解决几乎一切 UI 设计资源上的问题,并且将开发的 App 与原生鸿蒙风格完美契合!


补充资料:

官方图标库网站:


HarmonyOS Symbol 主题图标库(不全)

​https://developer.huawei.com/consumer/cn/design/harmonyos-symbol/​


Liny 为了方便自己写的图标一览(API 12 Release 2761 个图标全,已开源):

 内置免费图标!SymbolGlyphs|鸿蒙动效开发笔记 04|Extras-鸿蒙开发者社区

 内置免费图标!SymbolGlyphs|鸿蒙动效开发笔记 04|Extras-鸿蒙开发者社区

项目链接:

​https://gitee.com/awa_Liny/Linys_Ani_Examples_NEXT​

​https://github.com/awaLiny2333/Linys_Ani_Examples_NEXT​

(包含了鸿蒙动效开发笔记的所有案例内容)


使用 SymbolGlyph 显示图标:


由于图标在系统中的存在形式为 Resource(资源),因此使用 $r('sys.symbol.xxx') 调用。


SymbolGlyph($r('sys.symbol.ohos_trash'))


这样,设置图标的属性可以使用和设置文本等组件一样的方式:


.fontSize(233)
    .fontWeight(FontWeight.Bold)
    .fontColor(['red'])


只是有一个需要注意的点:


这里的 fontColor 需要填入 ResourceColor 数组(Array<ResourceColor>)


这是因为 SymbolGlyph 支持图标 分区着色,数组的三个项分别着色图标的三个部分(应该没记错 ¯\_(ツ)_/¯)。


如果只是想让整个图标显示成一个颜色,则只消传入一个 只有一项 的 ResourceColor 数组即可。


粘贴为 Unicode 文字:


在 官方的图标库网站 上点击图标右上角的三个点(…),还可以见到一个“复制 Symbol”的选项。


点击…后出现的选项面板,里面有一个选项名叫“复制 Symbol”

 内置免费图标!SymbolGlyphs|鸿蒙动效开发笔记 04|Extras-鸿蒙开发者社区

点了之后,这个图标便会被复制为 Unicode 字符,可以在 HarmonyOS Sans 字体中显示。


如:

 内置免费图标!SymbolGlyphs|鸿蒙动效开发笔记 04|Extras-鸿蒙开发者社区


这个界面左上角的返回按钮图标,实际上是复制为 Symbol 后得到的 Unicode 字符,填进 Text() 组件里显示出来的,而非 SymbolGlyph 或 Image 图像。


这有一个好处,就是可以把图标和文字无缝衔接:在写操作指引、图标按钮等业务场景十分高效。


(可以省略把 Text 和 SymbolGlyph 装在一起的 Row 或 Column 等容器!)


但是有一个问题:


那就是这个图标只在 HarmonyOS NEXT 机型上搭载的新字体中提供(目前),因此在默认为另一种字体的 DevEco Studio 中是无法正常显示的:


 内置免费图标!SymbolGlyphs|鸿蒙动效开发笔记 04|Extras-鸿蒙开发者社区


在 DevEco Studio 中无法正常显示 Unicode 文字形式的 Symbol


并且,在官网 设计资源-HarmonyOS设计-开发者联盟 上下载的 HarmonyOS Sans 字体中也尚未包含这些图标(华子,开门,催更!)


一些后话


有了这个东西之后,Liny 再也没有在第三方网站上找过图标。这两千多个图标估计永远也用不完。


(不过里面有很多抽象的东西,比如这个:睡觉有危险( 睡眠质量警告?


还有长得略显恐怖的猫咪:

 内置免费图标!SymbolGlyphs|鸿蒙动效开发笔记 04|Extras-鸿蒙开发者社区


甚至有小动物爪子:

 内置免费图标!SymbolGlyphs|鸿蒙动效开发笔记 04|Extras-鸿蒙开发者社区

还有某个绿泡泡:

 内置免费图标!SymbolGlyphs|鸿蒙动效开发笔记 04|Extras-鸿蒙开发者社区


总之,这些图标还是非常实用的,基本可以覆盖 App 开发的所有需要素材(除了某些特定元素、场景……)。不过似乎很少人知道这么个东西的存在(?


感谢你读到这里!如果文章内容中含有错误,也请评论区各路大佬斧正!ORZ


咱们下次再见啦!(可能会关于 SymbolGlyph 的动画!

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2024-10-20 22:35:06修改
1
收藏
回复
举报
回复
    相关推荐