图标有助于用户识别您的应用及其内的操作。根据您要创建的图标类型,您应使用不同的工具和库。
- 自定义启动器图标和通知图标:使用 Image Asset Studio 生成符合特定系统要求的自适应启动器图标和通知资源。
- 标准 UI 图标:使用 Image Asset Studio 中的剪贴画选项,从 Material 图标库中添加图片。
- 自定义 UI 图标:使用 Vector Asset Studio 为顶部应用栏等组件创建可缩放的矢量图形 (Vector Drawable)。
关于 Image Asset Studio
Android Studio 包含一个名为 Image Asset Studio 的工具,可帮助您使用 Material 图标、自定义图片和文本字符串生成自己的应用图标。它会针对您的应用支持的每种像素密度,生成一组分辨率合适的图标。Image Asset Studio 会将新生成的图标放置在项目 res/ 目录下的特定密度文件夹中。在运行时,Android 会根据运行应用设备的屏幕密度使用相应的资源。
Image Asset Studio 可帮助您生成以下类型的图标:
- 启动器图标
- 通知图标
如需生成自定义应用栏图标,请使用 Vector Asset Studio。以下章节介绍了您可以使用 Image Asset Studio 创建的图标类型,以及可以使用的图片和文本输入。
自适应启动器图标和旧版启动器图标
启动器图标是向用户呈现您应用的图形。它可以实现以下功能:
- 出现在设备上已安装的应用列表和主屏幕上。
- 代表进入您应用的快捷方式(例如,打开联系人详细信息的联系人快捷方式图标)。
- 被启动器应用使用。
- 帮助用户在 Google Play 上找到您的应用。
自适应启动器图标可以在不同的设备型号上以多种形状显示。Image Asset Studio 会生成自适应图标的圆形、圆角矩形、方形和圆角方形预览,以及图标的整版 (full bleed) 预览。Image Asset Studio 还会生成该图标的旧版、圆形和 Google Play 商店预览。
旧版启动器图标是在设备主屏幕和启动器窗口中代表您应用的图形。旧版启动器图标旨在用于运行 Android 7.1(API 级别 25)或更低版本的设备,这些设备不支持自适应图标,也不会在不同设备型号上以多种形状显示。即使您支持旧版 Android,我们也建议您为启动器图标使用 Material Design 风格。
Image Asset Studio 会将图标放置在 res/mipmap-<density>/ 目录中的正确位置。它还会创建一个 512 x 512 像素的图片,适合在 Google Play 商店中使用。
对于启动器图标,AndroidManifest.xml 文件必须引用 mipmap/ 位置。Image Asset Studio 会自动添加此代码。以下清单文件代码引用了 mipmap/ 目录中的 ic_launcher 图标:
<application android:name="ApplicationTitle"
android:label="@string/app_label"
android:icon="@mipmap/ic_launcher" >
如需了解更多信息,请参阅自适应启动器图标和产品图标 - Material Design。
通知图标
通知是您可以向用户显示在应用常规 UI 之外的消息。Image Asset Studio 会将通知图标放置在 res/drawable-<density>/ 目录中的正确位置。
- Android 3(API 级别 11)及更高版本的图标放置在
res/drawable-<density>-v11/目录中。 - Android 2.3 到 2.3.7(API 级别 9 到 10)的图标放置在
res/drawable-<density>-v9/目录中。 - Android 2.2(API 级别 8)及更低版本的图标放置在
res/drawable-<density>/目录中。
如果您的应用支持 Android 2.3 到 2.3.7(API 级别 9 到 10),Image Asset Studio 会生成一个灰色版本的图标。较新版本的 Android 会使用 Image Asset Studio 生成的白色图标。
如需了解更多信息,请参阅关于通知和 通知 - Material Design。
剪贴画
Image Asset Studio 允许您通过对话框选择图标,以 VectorDrawable 和 PNG 格式导入 Google Material 图标。如需了解更多信息,请参阅 Material 图标。
图像
您可以导入自己的图片并针对图标类型进行调整。Image Asset Studio 支持以下文件类型:PNG(首选)、JPG(可接受)和 GIF(不推荐)。
文本字符串
Image Asset Studio 允许您输入各种字体的文本字符串,并将其放置在图标上。它会将基于文本的图标转换为不同密度的 PNG 文件。您可以使用计算机上安装的字体。
运行 Image Asset Studio
要启动 Image Asset Studio,请按照以下步骤操作:
- 在 Project 窗口中,选择 Android 视图。
右键点击 res 文件夹,然后选择 New > Image Asset。

继续按照以下步骤操作:
创建通知图标。
创建自适应启动器图标和旧版启动器图标
在打开 Image Asset Studio 后,您可以按照以下步骤添加自适应图标和旧版图标:
- 在 Icon Type 字段中,选择 Launcher Icons (Adaptive and Legacy)。
- 在 Foreground Layer 标签页中,选择一个 Asset Type,然后在下方的字段中指定资源:
- 选择 Image 可指定图片文件的路径。
- 选择 Clip Art 可指定 Material Design 图标集中的图片。
- 选择 Text 可指定文本字符串并选择字体。
- 在 Background Layer 标签页中,选择一个 Asset Type,然后在下方的字段中指定资源。您可以选择颜色或指定用作背景层的图片。
- 在 Monochrome Layer 标签页中,选择一个 Asset Type(Image、Clip Art 或 Text),或者让 Android Studio 默认复用与前景层相同的资源。
- 在 Options 标签页中,查看默认设置并确认您要生成旧版图标、圆形图标和 Google Play 商店图标。
- 您可以选择更改 Foreground Layer 和 Background Layer 标签页中各项的名称和显示设置:
- Name - 如果不想使用默认名称,请输入一个新名称。如果项目资源中已存在该名称(向导底部会显示错误提示),则会覆盖现有资源。名称只能包含小写字母、下划线和数字。
- Trim - 要调整源资源中图标图形与边框之间的间距,请选择 Yes。此操作会去除透明空间,同时保持纵横比。如果想保持源资源不变,请选择 No。
- Color - 要更改 Clip Art 或 Text 图标的颜色,请点击该字段。在 Select Color 对话框中,指定一种颜色,然后点击 Choose。新值将出现在字段中。
- Resize - 使用滑块按百分比指定缩放系数,以调整 Image、Clip Art 或 Text 图标的大小。当您指定 Color 资源类型时,背景层的此控件将被禁用。
- 点击 Next。
- (可选)更改资源目录:选择要添加图像资源的资源源集:src/main/res、src/debug/res、src/release/res 或自定义源集。主要源集适用于所有构建变体(包括调试和发布)。调试和发布源集会覆盖主要源集,并适用于特定构建版本。调试源集仅用于调试。要定义新的源集,请选择 File > Project Structure > app > Build Variants > Build Types。例如,您可以定义一个 beta 源集并创建一个图标版本,该版本在右下角包含“BETA”字样。如需了解更多信息,请参阅配置构建变体。
- 点击 Finish。Image Asset Studio 会将图片添加到不同密度的 mipmap 文件夹中。
预览主题应用图标
Android Studio 允许您预览主题应用图标,并测试其如何适应用户壁纸的配色。要预览您的主题应用图标,请打开定义图标的 launcher.xml 文件,然后使用工具栏上的 System UI Mode 选择器切换壁纸,查看图标的响应情况。
如需详细了解如何创建主题应用图标,请参阅自适应图标。
创建通知图标
在打开 Image Asset Studio 后,您可以按照以下步骤添加通知图标:
- 在 Icon Type 字段中,选择 Notification Icons。
- 选择一个 Asset Type,然后在下方的字段中指定资源:
- 在 Clip Art 字段中,点击按钮。在 Select Icon 对话框中,选择一个 Material 图标,然后点击 OK。
- 在 Path 字段中,指定图片的路径和文件名。点击 ... 可使用对话框进行选择。
- 在 Text 字段中,输入文本字符串并选择字体。图标会显示在右侧的 Source Asset 区域以及向导底部的预览区域中。
- (可选)更改名称和显示选项:
- Name - 如果不想使用默认名称,请输入一个新名称。如果项目资源中已存在该名称(向导底部会显示警告提示),则会覆盖现有资源。名称只能包含小写字母、下划线和数字。
- Trim - 要调整源资源中图标图形与边框之间的间距,请选择 Yes。此操作会去除透明空间,同时保持纵横比。如果想保持源资源不变,请选择 No。
- Padding - 如果要调整源资源四个方向的内边距,请移动滑块。选择 -10% 到 50% 之间的值。如果您也选择了 Trim,则会先进行裁剪。
- 点击 Next。
- (可选)更改资源目录
- Res Directory - 选择要添加图像资源的资源源集:src/main/res、src/debug/res、src/release/res 或用户定义的源集。主要源集适用于所有构建变体(包括调试和发布)。调试和发布源集会覆盖主要源集,并适用于特定构建版本。调试源集仅用于调试。要定义新的源集,请选择 File > Project Structure > app > Build Types。例如,您可以定义一个 beta 源集并创建一个图标版本,该版本在右下角包含“BETA”字样。如需了解更多信息,请参阅配置构建变体。
- 点击 Finish。Image Asset Studio 会将图片添加到不同密度和版本的 drawable 文件夹中。
引用图像资源
如需了解有关引用图标资源的信息,请参阅Compose 中的资源。如需了解有关引用全彩图形或更复杂图片的信息,请参阅加载图片。
从项目中删除图标
要从项目中删除图标,请执行以下操作:
- 在 Project 窗口中,选择 Android 视图。
- 展开启动器图标的 res/mipmap 文件夹,或展开其他类型图标的 res/drawable 文件夹。
- 找到包含您要删除的图标名称的子文件夹。此文件夹包含不同密度的图标。
- 选择文件夹并按下 Delete 键。或者,选择 Edit > Delete,或右键点击该文件并选择 Delete。系统会显示 Safe Delete 对话框。
- (可选)选择相应选项以查找图标在项目中的使用位置,然后点击 OK。Android Studio 会从项目和磁盘中删除这些文件。但是,如果您选择搜索项目中文件的使用位置并找到了一些引用,您可以查看它们并决定是否删除。您必须删除或替换这些引用,才能成功编译您的项目。
- 选择 Build > Clean Project。Android Studio 会移除与已删除的图像资源相对应的任何已生成图像文件。它会将其从项目和磁盘中移除。
- 如有必要,更正因代码中引用该资源而导致的任何剩余错误。Android Studio 会在您的代码中高亮显示这些错误。从代码中删除所有引用后,您即可再次成功构建项目。