android - 尝试使用 <vector> 作为 ImageView 的 src 时出现异常

标签 android

我有一个布局文件。

<ImageView
    android:layout_width="100dp"
    android:layout_height="100dp"
    app:srcCompat="@drawable/ic_app"
    android:layout_gravity="center"/>

我的 ic_app.xml 位于 flavor/res/drawable 中。我注意到如果我将图标移动到 main/res/drawable 中。一切都恢复正常了!

可绘制的 ic_app 是一个 XML。但出于某种原因,每当启动包含此 ImageView 的 Activity 时,我的 android API-23 手机就会崩溃。说找不到资源。

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp/com.app.android.view.activity.login.WelcomeActivity}: android.view.InflateException: Binary XML file line #20: Binary XML file line #20: Error inflating class ImageView
Caused by: android.view.InflateException: Binary XML file line #20: Binary XML file line #20: Error inflating class ImageView

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

Caused by: android.content.res.Resources$NotFoundException: File res/drawable/ic_app.xml from drawable resource ID #0x7f02029e

我以前从未见过这种情况。可能是什么原因?

同一应用在 API-19 设备中正确运行。

最佳答案

如果您使用的是矢量绘图,请使用

app:srcCompat="@drawable/ic_app"

代替

android:src="@drawable/ic_app"

这是一个Good Read

关于android - 尝试使用 <vector> 作为 ImageView 的 src 时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47780964/

相关文章:

android - 如何处理 API21 中的 shouldInterceptRequest 参数更改?

java - 仅在 Android 中调整 ScrollView 的大小

android - 如何在android中构建键盘提示布局

android - 扩展 FrameLayout, subview 将不再显示

android - Arraylist 作为接口(interface)中的参数在 Android RecyclerViewAdapter 中发生 NullPointer Exception

android - 是否可以同时将文件添加到多个 git 仓库?

android - 在 webview android 中放大/缩小(+/-)

android - 开源安卓启动器列表

javascript - JSartoolkit : camera_para. 安卓后置摄像头数据

android - TColorbutton(Delphi XE5 - 移动应用程序)不显示文本属性