Android Studio使用Vector Asset的注意事项

Vector是Android 5.0之后新增加的一项特性,目前已经可以兼容到Android 5.0之前的版本。但使用过程中依然还是可能产生一些兼容性的问题。

1、Android Studio创建Vector Asset

res目录下的drawable目录上单击右键,选择New –> Vector Asset,弹出Asset Studio对话框。
目前有两种方式创建vector资源,一种是通过Material Icon生成vector资源,一种是通过SVG或PSD文件生成vector资源。具体操作过程比较简单,不再详述。

Asset Studio

注意:最好将生成的vector drawable资源放在drawable目录下或drawable-anydpi目录下。

2、兼容问题解决

如果使用的Android Studio版本为2.2以上,gradle版本也较新,生成的vector drawable资源也放在了drawable目录下或drawable-anydpi目录下,则一般就直接可以兼容Android 5.0之前操作系统。

vector drawable资源的使用方式如下,ic_egg05_got.xml为生成的vector 资源。

<ImageView
    android:id="@+id/ivVector"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_egg05_got"/>

如果不满足以上的条件或由于其他原因导致Android 5.0之前的设备无法使用vector资源,也有别的解决办法。

如果设备无法使用vector资源,则会导致应用崩溃,异常信息大致如下所示:

Caused by: android.view.InflateException: Binary XML file line #11: Error inflating class ImageView

Caused by: android.content.res.Resources$NotFoundException: File res/drawable-nodpi-v4/egg01_got.xml from drawable resource ID #0x7f020053

Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #2: invalid drawable tag vector

2.1、修改build.gradle

打开该模块下的build.gradle文件。

  • 如果当前使用的gradle版本为2.0以上,在android节点下的defaultConfig节点下加入一行代码:
vectorDrawables.useSupportLibrary = true
  • 如果使用的gradle版本为2.0以下,1.5以上,则需要在android节点下的defaultConfig节点下加入如下一行代码:
generatedDensities = []

并在android节点下,defaultConfig节点后面加入

aaptOptions {
    additionalParameters "--no-version-vectors"
}

推荐使用较新的gradle版本以免不必要的麻烦。

之后,在dependencies中引入appcompat-v7兼容包,版本需要23.2以上。

compile 'com.android.support:appcompat-v7:25.0.1'

2.2、修改布局文件

如果在布局文件中使用了vector drawable资源的话,则需要修改其使用方式为:

app:srcCompat="@drawable/ic_egg05_got"

需要在根布局中引入命名空间xmlns:app="http://schemas.android.com/apk/res-auto"

2.3、修改Activity

需要将加载vector drawable资源的Activity继承自AppCompatActivity


做完以上工作之后,Android 5.0之前的设备就可以支持使用vector drawable资源了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AndroidVector Asset Studio是一个用于创建和管理矢量图标的工具。它可以帮助开发者在应用程序中使用矢量图标,而无需担心图标在不同屏幕密度下的模糊或失真问题。 要使用Vector Asset Studio,首先需要打开Android Studio,并确保已经创建了一个Android项目。然后,按照以下步骤进行操作: 1. 在Android Studio的项目视图中,右键单击res文件夹,选择"New" -> "Vector Asset"。 2. 在弹出的向导中,选择要导入的矢量图标类型。可以选择从Material Design图标库中导入,也可以选择从本地文件系统导入。 3. 如果选择从Material Design图标库导入,可以在搜索框中输入关键字来查找所需的图标。选择图标后,可以预览并调整其大小和颜色。 4. 如果选择从本地文件系统导入,可以点击"Local file"按钮,然后选择要导入的SVG或者AI文件。导入后,可以预览并调整其大小和颜色。 5. 在预览窗口中,可以通过调整大小和颜色来自定义图标。还可以选择生成的资源类型(如Drawable或Mipmap)以及目标密度。 6. 完成自定义后,点击"Next"按钮,然后选择要生成的资源文件夹和文件名。点击"Finish"按钮完成导入过程。 完成上述步骤后,Android Studio将自动生成相应的矢量图标资源文件,并将其添加到项目中。可以在布局文件或代码中使用这些矢量图标资源,就像使用其他Drawable资源一样。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值