我有一个布局文件。
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
app:srcCompat="@drawable/ic_app"
android:layout_gravity="center"/>
我的ic_app.xml位于flavour / res / drawable中。我注意到如果将图标移到main / res / drawable中。一切又恢复正常!
可绘制的ic_app是XML。但是由于某种原因,只要启动包含此ImageView的活动,我的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/