Repository navigation
v1.0.17 · 应用图标改为上架要求的分层资源
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该如何解决》:
「必须分为前景图和背景图两层」「尺寸必须为 1024px1024px」「不允许自行裁剪圆角,不允许在资源内添加内间距」
「背景图需为纯色(不能透明且不能包含其他图形)」「前景图需为透明的 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
assembleHapBUILD 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),abilitystartWindowIcon: $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)。