Skip to content

v1.0.17 · 应用图标改为上架要求的分层资源

Choose a tag to compare

@TomoeMami TomoeMami released this 11 Oct 05:37
· 2 commits to main since this release

1.0.16 以来的改动:

  • 应用图标改为上架要求的分层资源(前景图 + 背景图 + layered_image.json):

    • 新增 scripts/icon/:foreground.svg(声波三环 + 人物,透明前景)、background-solid.svg(纯色 #0056B3,默认)、
      background-gradient.svg(原图稿对角渐变,备选)与 gen-app-icon.ps1 —— 用 Chrome headless 栅格化为
      1024×1024 PNG 写入 AppScope 与 entry 两处 resources/base/media,并自校验尺寸与角点 alpha
      (背景四角必须 255、前景四角必须 0)。
    • 两层满幅贴边、不自绘圆角、不留内间距,对齐官方上架 FAQ《应用配置图标不符合UX设计规范要求尺寸1024px1024px该如何解决》:
      「必须分为前景图和背景图两层」「尺寸必须为 1024px
      1024px」「不允许自行裁剪圆角,不允许在资源内添加内间距」
      「背景图需为纯色(不能透明且不能包含其他图形)」「前景图需为透明的 PNG 格式」。
    • 接线:app.json5 的 app.icon 与 module.json5 的 abilities[0].icon 都改指 $media:layered_image
      (系统侧 module 优先,两处必须同改);startWindowIcon 保持 $media:app_icon。
  • 图标底色不再自绘圆角:两份 app_icon.svg 去掉 rx/ry,并统一为与背景层同色的纯色 #0056B3
    (供启动页与应用内 Image($r('app.media.app_icon')) 使用,这两处不走系统蒙版)。旧版自绘 rx=220
    会让四角 3.72% 像素变成透明区,在系统蒙版之上再叠一层「双圆角」。

  • docs/06-ui-design-spec.md §5 重写为分层图标章节(资源与接线表 / 可复现生成脚本 / 官方规范依据 / 上机验证记录)。

上机验证(DevEco 模拟器 phone26 / HarmonyOS 7.0.0(26.0.0) / API 26,未签名 HAP):

  • 构建:release assembleHap BUILD SUCCESSFUL;HAP 内 resources/base/media/ 含 background.png、foreground.png、
    layered_image.json、app_icon.svg 四项。
  • 安装:hdc install -r → install bundle successfully;bm dump -n com.homenapod.app →
    iconPath: $media:layered_image(iconId: 16777729),ability startWindowIcon: $media:app_icon。
  • 桌面:uitest dumpLayout 取到图标瓦片 Image [387,260][569,442] = 182×182,与系统自带「联系人」图标
    Image [88,260][270,442] = 182×182 完全同尺寸;放大截图确认系统蒙版圆角正常,无双圆角、无透明缝、无黑带。
  • 启动窗口:aa start + 即时 snapshot_display 抓到满幅直角方形纯色图(该处系统不套蒙版)。
  • 版本号:1.0.17 / 1000017。

未做 / 备注:

  • 启动页(startWindowIcon)不走系统蒙版,因此显示为直角方形;若要启动页也圆角,需另给一张自绘圆角的图。
  • 资源编译器会把 media 里的 PNG 压成 512×512 再打包(属 hvigor 打包行为);工程源文件仍是规范要求的 1024×1024。
  • 如需恢复原图稿的蓝→紫对角渐变背景,一条命令即可:
    pwsh -File scripts/icon/gen-app-icon.ps1 -Background gradient(随后重新 assembleHap)。