Android Studio官方文档之使用Image Asset Studio添加位图图像

时间:2022-11-21 16:18:34

Android Studio官方文档之使用Image Asset Studio添加位图图像

本文由nyk翻译,jkYihson审校.

前言

Android Studio中有一个工具叫Image Asset Studio,它可以把已有的图像、剪贴画、文本字符串资源生成你app的自定义的图标。它生成的图标会对你App支持的每一种常见的屏幕密度有良好的支持。新生成的图标放置在/res文件夹下和屏幕密度相关的子文件夹下(例如mipmap-mdpi/drawable-xxxhdpi/)。在运行时,系统会根据运行App的设备的屏幕密度来使用合适的资源。

Image Asset Studio可以生成以下的资产类型:

  • launcher 图标
  • ActionBar和标签图标
  • 通知图标

下文将指导你如何用Image Asset Studio生成这些资产资源。

访问Image Asset Studio

执行以下步骤将打开Image Asset Studio:

  1. 在Android Studio中打开一个Android应用工程
  2. 在屏幕左边的Project窗口中,点开下拉菜单选中Android。Android结构的工程视图就会出现在板面中。
  3. 右击res/文件夹选择New–>Image Asset。Image Asset Studio窗口就会出现

创建图标

你可以用图像、剪切图、文本资源生成图标。这部分描述它们中每一种如何执行。

用图像生成

  1. 打开Asset Type下拉菜单选择icon类型
  2. 从可见的Foreground选项中,选Image
  3. Image file中输入资产文件的文件名,通过文件夹浏览器为资产文件选择一个源文件。Image Asset Studio支持以下的文件类型,降序排列:PNG,JPG,GIF。即将生成的图标以对应不同的屏幕密度的尺寸显示在Preview板面中
  4. 保存图标到你的工程文件夹下

用剪切图生成

  1. 打开Asset Type下拉菜单选择icon类型
  2. 从可见的Foreground选项中,选Clipart,然后Choose按钮就会显示
  3. 点击Choose,一个包含剪切图资源的窗口就会显现
  4. 选择一个剪切图。即将生成的图标以对应不同的屏幕密度的尺寸显示在Preview板面中
  5. 保存图标到你的工程文件夹下

用文本生成

  1. 打开Asset Type下拉菜单选择icon类型
  2. 从可见的Foreground选项中,选Text
  3. Text中输入你想转化成图标的文本。即将生成的图标以对应不同的屏幕密度的尺寸显示在Preview板面中
  4. Font下拉菜单中选择一个字体来改变文本的字体
  5. 保存图标到你的工程文件夹下

定制图标

Image Asset Studio使你能定制各种不同的视觉效果到图标上。以下选项需要特别注意

  • Trim surrounding blank space:这个选项能使你调整图标和边界的幅度

Android Studio官方文档之使用Image Asset Studio添加位图图像

  • Additional Padding:这个选项能使你调整图标和四边之间的填充距离。滑动滑块在0到100px中选择一个值。例如,对一个100px X 100px的图像有25px的填充,那个最终的图像就是150px X 150px
  • Theme:这个选项能使你为action bar或标签图标设置一个主题。你可以用HOLO_DARK、HOLO_LIGHT主题或自定义主题,从色板中取色来为图标着色。
  • Resource name:这个能使你为资源指定一个名字,如果这个名字的资产文件已经存在,Image Assert Studio会提示你会覆盖原来有的资产文件

保存图标

这部分描述怎样保存图标到res/文件夹下。按以下步骤执行:

  1. 从你打开Image Asset Studio的第一个界面开始,点击next,就会打开一个新窗口
  2. 为图标确认目标Module和资源目录,如果你不想用默认的Module和资源目录,你可以自己输入
  3. 点击Finish。Image Asset Studio就会按照你之前的选项生成新的PNG格式的图标文件

    注意:Launcher图标所在的文件夹和其他图标所在的文件夹不同,Launcher图标在mipmap/文件夹下, 其他的图标在/drawable文件夹下

配置编译属性

执行以下步骤来改变module和资源目录的配置

  1. Target Module选项中,选择一个Module来添加图标资源。更多信息,请查看添加一个Module到新设备
  2. Res Directory选项中,选择图像资产放置的位置

    • src/main/res:这个资源目录应用到所有编译的种类,包括debug编译和release编译
    • src/debug/res, src/release/res:这些资源目录在对应种类的版本编译中会覆盖主资源目录
    • 自定义:选择File > Project Structure > app > Build Types来定义自己的资源目录。例如,你想定义一个beta资源目录并且创建一个右下角有“BETA”字样的图标。更多信息,请查看使用不同的编译种类

在代码中引用图像资源

在你工程的/res目录已经有一个图像资源后,你可以在Java代码和xml文件中用资源id来引用图像资源。

例如,以下是在XML中引用mipmap目录下的ic_launcher图标:

<application android:name="ApplicationTitle"
android:label="@string/app_label"
android:icon="@mipmap/ic_launcher" >

以下是在Java代码中设置ImageView为drawable/myimage.png:

ImageView imageView = (ImageView) findViewById(R.id.myimageview);
imageView.setImageResource(R.drawable.myimage);

把Launcher图标作为mipmap资源

不同设备的不同主屏的Launcher在各种分辨率上显示App图标。当App资源优化技术且删除不常用的屏幕密度相关的资源时,Launcher图标可能会看起来模糊, 因为Launcher App不得不扩大低分辨率的图标尺寸用于显示。为避免这些问题,App需把Launcher图标放在mipmap/下。不管屏幕密度如何碎片化Android系统会保留这些资源并且Launcher会选择一个最佳分辨率的图标用以显示。

把所有密度的Launcher图标移动到res/mipmap/目录下相应密度的子文件夹下(例如res/mipmap-mdpi/和res/mipmap-xxxhdpi/)会确保Launcher会为你的App显示高分辨率的图标。对于launcher 图标mipmap/文件夹替换了drawable/文件夹。对于xxhpdi的launcher图标,请务必添加更高分辨率的xxxhdpi图标以提升图标的在高分辨率的设备上的视觉体验。

注意:即使你编译一个APK,运行在所有设备上,把launcher图标放在mipmap/文件夹下仍是最好的选择

清单文件升级

当你移动launcher图标到mipmap-[density]文件夹下时,需要把清单文件中引用launcher图标的地方改成引用mipmap/下的图标。以下例子改成了引用mipmap/下ic_launcher的图标

<application android:name="ApplicationTitle"
android:label="@string/app_label"
android:icon="@mipmap/ic_launcher" >