ICON_GUIDE.md 6.4 KB

Android 应用图标配置指南

📱 图标文件位置

应用图标需要放在以下目录中,每个目录对应不同的屏幕密度:

app/src/main/res/
├── mipmap-mdpi/          ← 48x48 px (中密度)
│   ├── ic_launcher.webp
│   └── ic_launcher_round.webp
├── mipmap-hdpi/          ← 72x72 px (高密度)
│   ├── ic_launcher.webp
│   └── ic_launcher_round.webp
├── mipmap-xhdpi/         ← 96x96 px (超高密度)
│   ├── ic_launcher.webp
│   └── ic_launcher_round.webp
├── mipmap-xxhdpi/        ← 144x144 px (超超高密度)
│   ├── ic_launcher.webp
│   └── ic_launcher_round.webp
├── mipmap-xxxhdpi/       ← 192x192 px (超超超高密度)
│   ├── ic_launcher.webp
│   └── ic_launcher_round.webp
└── mipmap-anydpi-v26/    ← Android 8.0+ 自适应图标
    ├── ic_launcher.xml
    └── ic_launcher_round.xml

🎨 图标尺寸要求

密度 文件夹 尺寸 (px)
MDPI mipmap-mdpi 48 x 48
HDPI mipmap-hdpi 72 x 72
XHDPI mipmap-xhdpi 96 x 96
XXHDPI mipmap-xxhdpi 144 x 144
XXXHDPI mipmap-xxxhdpi 192 x 192

📝 两种图标类型

1. 标准图标 (ic_launcher)

  • 方形图标
  • 用于大多数设备

2. 圆形图标 (ic_launcher_round)

  • 圆形图标
  • 用于支持圆形图标的设备(如某些启动器)

🔧 替换图标的步骤

方法一:使用 Android Studio(推荐)✨

支持的输入格式:PNG, JPG, SVG, PSD

  1. 右键点击 app 模块
  2. 选择 New → Image Asset
  3. 在 Asset Studio 中:
    • Icon Type: 选择 Launcher Icons (Adaptive and Legacy)
    • Foreground Layer:
      • 点击路径选择按钮
      • 选择你的 SVG 文件(或 PNG/JPG)
      • Android Studio 会自动转换 SVG
    • Background Layer: 选择颜色(如樱花粉 #FFB7C5)或上传背景图
    • 预览效果
  4. 点击 Next → Finish

优点:

  • ✅ 直接支持 SVG 格式
  • ✅ 自动生成所有尺寸
  • ✅ 自动转换为 WebP/PNG
  • ✅ 实时预览效果

方法二:在线转换 SVG

如果你有 SVG 文件,可以使用在线工具转换:

推荐工具:

  1. Android Asset Studio: https://romannurik.github.io/AndroidAssetStudio/

    • 支持 SVG 上传
    • 自动生成所有密度的图标
  2. CloudConvert: https://cloudconvert.com/svg-to-png

    • 将 SVG 转换为高分辨率 PNG (1024x1024)
    • 然后用 PNG 生成图标
  3. Figma/Sketch/Adobe XD:

    • 导入 SVG
    • 导出为不同尺寸的 PNG

步骤:

  1. 上传 SVG 文件
  2. 设置输出尺寸(建议 1024x1024 px)
  3. 下载 PNG 文件
  4. 使用 PNG 文件在 Android Studio 中生成图标

方法二:手动替换

注意:mipmap 文件夹只支持位图格式(PNG/WebP/JPG),不支持 SVG

如果你想手动替换:

  1. 将 SVG 转换为 PNG(使用上述在线工具)
  2. 准备不同尺寸的图标文件
  3. 将文件重命名为 ic_launcher.webp 或 ic_launcher.png
  4. 分别放入对应的 mipmap 文件夹中

方法三:使用矢量图标(仅用于自适应图标)

SVG 可以转换为 Android Vector Drawable (XML)

如果你想在自适应图标中使用矢量图:

  1. 在 Android Studio 中:

    • 右键点击 res/drawable
    • 选择 New → Vector Asset
    • 选择 Local file (SVG, PSD)
    • 选择你的 SVG 文件
    • 点击 Next → Finish
  2. 这会生成一个 XML 矢量图标文件

  3. 然后在 ic_launcher_foreground.xml 中引用它

示例:

<!-- res/drawable/ic_launcher_foreground.xml -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="108dp"
    android:height="108dp"
    android:viewportWidth="108"
    android:viewportHeight="108">
    <!-- SVG 转换后的路径数据 -->
    <path
        android:fillColor="#FFFFFF"
        android:pathData="M50,20 L80,80 L20,80 Z"/>
</vector>

方法三:使用在线工具

推荐工具:

步骤:

  1. 上传一张高分辨率图标(建议 1024x1024 px)
  2. 下载生成的所有尺寸图标
  3. 解压后将文件复制到对应的 mipmap 文件夹

🎯 自适应图标(Android 8.0+)

对于 Android 8.0 及以上版本,使用自适应图标:

编辑前景图标

app/src/main/res/drawable/ic_launcher_foreground.xml

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="108dp"
    android:height="108dp"
    android:viewportWidth="108"
    android:viewportHeight="108">
    <!-- 你的图标路径 -->
</vector>

编辑背景

app/src/main/res/drawable/ic_launcher_background.xml

可以是纯色或矢量图:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="108dp"
    android:height="108dp"
    android:viewportWidth="108"
    android:viewportHeight="108">
    <path
        android:fillColor="#FFB7C5"
        android:pathData="M0,0h108v108h-108z"/>
</vector>

🎨 樱花粉主题图标建议

根据你的应用主题色(樱花粉 #FFB7C5),建议:

  1. 背景色: 使用樱花粉 #FFB7C5
  2. 前景图标: 使用白色或深色图标,确保对比度
  3. 风格: 简洁、现代、符合 Material Design 规范

✅ 验证图标

替换图标后:

  1. 清理项目:Build → Clean Project
  2. 重新构建:Build → Rebuild Project
  3. 卸载旧版本应用
  4. 重新安装并检查图标显示

📌 注意事项

  • ✅ 使用 PNG 或 WebP 格式(WebP 文件更小)
  • ✅ 确保所有密度都有对应的图标
  • ✅ 图标应该有透明背景(对于自适应图标)
  • ✅ 避免在图标中使用文字(除非是品牌标识)
  • ✅ 测试在不同设备和启动器上的显示效果
  • ❌ 不要使用 JPEG 格式
  • ❌ 不要在图标边缘留白(系统会自动添加)

🔍 当前配置

你的应用图标在 AndroidManifest.xml 中配置:

<application
    android:icon="@mipmap/ic_launcher"
    android:roundIcon="@mipmap/ic_launcher_round"
    ...>

如果你想使用不同的图标名称,需要同时修改 AndroidManifest.xml。