安卓 8 起的自适应图标(Adaptive Icon)把图标拆成前景层 + 背景层(还可有单色层等),由各厂商桌面用圆形、圆角方形等遮罩裁切,并支持视差动效。你若把关键 Logo 画到四角,换一台圆遮罩手机就会被切掉——这就是「安全区」要解决的问题。
本文给上架与设计导出用的尺寸与安全区清单。双平台总表见 iOS / Android 图标规范;鸿蒙分层见 鸿蒙分层图标。
| 概念 | 数值 | 含义 |
|---|---|---|
| 图层画布 | 108 × 108 dp | 前景、背景各自的完整图层大小 |
| 安全区 | 居中约 66 × 66 dp | 关键图形应落在此区域内,遮罩外圈可能被裁 |
| 遮罩边距 | 四周约 18 dp | 108 与 66 之差的一半,留给各形遮罩 |
设计稿常用栅格导出(按 4×):
| 资源 | 常见像素 | 说明 |
|---|---|---|
| 前景 / 背景图层 | 432 × 432 px | 108dp × 4 |
| 安全区示意 | 约 264 × 264 px | 66dp × 4 |
| Google Play 商店图标 | 512 × 512 px | 另一套:32 位 PNG、全正方形,由 Play 加圆角与阴影,勿与自适应图层混用 |
| 层 | 建议 | 忌讳 |
|---|---|---|
| 背景层 | 铺满 108dp 的纯色、微渐变或简单纹理 | 把品牌字写到四角;复杂照片难遮罩 |
| 前景层 | Logo / 关键图形居中,落在 66dp 安全区 | 细线贴边;依赖四角才能认出来的图形 |
| 透明 | 前景透明处露出背景层 | 前景「挖空」后背景空洞导致遮罩异色 |
视觉动效下,前景可能相对背景轻微位移,所以更不要贴边。
| 用途 | 规格 | 圆角 |
|---|---|---|
| 桌面自适应图标 | 前景+背景 108dp 图层 | 系统 / 桌面遮罩 |
| Play 商店列表图标 | 512×512、≤1024KB、sRGB | 你不要自绘圆角;Play 动态加遮罩与阴影 |
常见错误:把已经切成圆形的 512 图再塞进自适应前景,或把带透明圆角的自适应导出当商店图标——叠遮罩后边缘发脏。Play 截图透明规则与图标规则也不同,截图见 透明层被拒排查。
mipmap-anydpi-v26 的 adaptive-icon XML,核对 foreground / background 引用。| 项目 | iOS | Android 自适应 |
|---|---|---|
| 图层 | 多为单张母版(或 Icon Composer 分层) | 前景 + 背景(必需思路) |
| 圆角 | 系统遮罩,母版直角 | 各桌面遮罩,靠安全区 |
| 商店图标 | 走 ASC / Xcode 槽位 | Play 另要 512 正方形 |
| 预览半径 | 民间 22% 仅预览 | 用 66dp 框预览,勿套 iOS 半径 |
团队若共用一套 Figma「图标」页面,请拆成 ios-master、android-adaptive-fg/bg、play-512 三个导出帧,CI 里分别校验尺寸,比靠设计师记忆更少翻车。
很多团队只有一枚中心 Logo,却要同时喂给桌面、Play 商店和通知栏。可以按下面拆:
联调时让测试同学用至少两家国产桌面 + Pixel 装包截图,把裁切失败的案例直接贴回设计稿安全区,比口头说「再往里收一点」高效。
| 现象 | 可能原因 | 处理 |
|---|---|---|
| 桌面图标四周透明一圈 | 前景未铺满、或错误使用了带大面积透明的背景 | 背景铺满;前景透明仅留 Logo 外 |
| 圆角外露白边 | 把已切圆的图当图层 | 重导直角图层 |
| Play 图标发灰/发脏 | 自带阴影 + Play 再投影 | 去掉自绘阴影 |
| 自适应 XML 无效 | anydpi-v26 配置或命名错误 | 用 Image Asset 向导重生成后 diff |
Android 自适应图标的关键不是「再画一个圆」,而是 108dp 双图层 + 66dp 安全区,再单独准备 Play 的 512 商店图。安全区留够,换桌面遮罩也不会「缺一块」;商店图与桌面图层职责分开,审核和观感都会干净很多。