android studio 多密度矢量图形和创建图标

243 阅读4分钟

多密度矢量图形

Android Studio 包含一个名为 Vector Asset Studio 的工具,可帮助您添加 Material 图标以及将可缩放矢量图形 (SVG) 和 Adobe Photoshop Document (PSD) 文件作为矢量可绘制资源导入到项目中。使用矢量可绘制对象代替位图可以减小 APK 的大小,因为可以针对不同的屏幕密度调整同一文件的大小,而不会降低图片质量。

Vector Asset Studio 会将矢量图形作为描述图片的 XML 文件添加到项目中。与更新多个不同分辨率的光栅图形相比,维护一个 XML 文件可能会更加轻松一些。

对于 Android 5.0(API 级别 21)及更高版本,您可以使用 AnimatedVectorDrawable 类为 VectorDrawable 类的属性添加动画效果。利用支持库,您可以使用 AnimatedVectorDrawableCompat 类为 Android 3.0(API 级别 11)及更高版本的 VectorDrawable 类添加动画效果

注意

  • 与对应的光栅图片相比,初次加载矢量可绘制对象时会耗费更多 CPU 周期。之后,两者的内存用量和性能相当。建议您将矢量图片限制为最大 200 x 200 dp;否则,绘制所需的时间可能会太长。
  • 尽管矢量可绘制对象确实支持一种或多种颜色,但在很多情况下,最好将图标颜色设置为黑色 (android:fillColor="#FF000000")。使用此方法,您可以向放置在布局中的矢量可绘制对象添加色调,然后图标颜色就会变为色调颜色。如果图标颜色不是黑色,图标颜色就可能与色调颜色混合。

Vector Asset Studio 支持以下 XML 元素:

image.png

运行 Vector Asset Studio

要启动 Vector Asset Studio,请执行以下操作:

  1. 在 Android Studio 中,打开一个 Android 应用项目。
  2. 右键点击 res 文件夹,然后依次选择 New > Vector Asset
  3. 一些其他项目视图和文件夹也具有此菜单项。
  4. 此时将显示 Vector Asset Studio。
  5. 点击Next完成

Vector Asset Studio生成界面

image.png

  • Name 如果您不想使用默认名称,请输入新名称。如果项目中已存在该资源名称,Vector Asset Studio 会自动创建一个唯一性的名称(在名称末尾添加一个数字)。该名称只能包含小写字符、下划线和数字。
  • Clip art 从clip art中选择需要的图形
  • Size - 如果您要调整图片的尺寸,请选中此选项。输入新尺寸后,预览区域中会显示相应的变化。默认值为 24 x 24 dp,此值是在Material Design规范中定义的
  • Color 矢量图颜色,最好默认颜色为黑色。
  • Opacity 使用滑块调整图片的不透明度。系统会在预览区域中显示相应的变化。
  • Enable auto mirroring for RTL layout - 如果您希望在布局为从右到左(而不是从左到右)时显示镜像图片,请选中此选项。例如,某些语言的阅读方向为从右到左;如果您有一个箭头图标,不妨在这种情况下显示该图标的镜像图片。请注意,如果您使用的是之前的项目,则还可能需要向应用清单中添加 android:supportsRtl="true"。Android 5.0(API 级别 21)及更高版本以及支持库均支持自动镜像。

创建应用图标 Image Asset Studio

Image Asset Studio 的工具,可帮助您根据Material 图标、自定义图片和文本字符串生成自己的应用图标。它会针对应用支持的每种像素密度以适当的分辨率生成一组图标。Image Asset Studio 会将新生成的图标放置在项目中 res/ 目录下的密度专用文件夹中。在运行时,Android 将根据运行应用的设备的屏幕密度来使用适当的资源。

Image Asset Studio 可帮助您生成以下类型的图标:

  • 启动器图标
  • 操作栏和标签页图标
  • 通知图标

启动 Image Asset Studio,请按以下步骤操作:

  1. 在 Project 窗口中
  2. 右键点击 res 文件夹,然后依次选择 New > Image Asset

image.png 3. 继续执行以下操作步骤:

  • 如果您的应用支持 Android 8.0,请创建自适应和旧版启动器图标
  • 如果您的应用支持不高于 Android 7.1 的版本,请仅创建旧版启动器图标
  • 创建操作栏或标签页图标
  • 创建通知图标

创建自适应和旧版启动器图标

image.png

创建旧版启动器图标

image.png

创建操作栏或标签页图标

image.png

创建通知图标

image.png