更新到 gradle 3.1.4 并移至 buildToolsVersion“ 27.0.3”
我正在面对这个问题
android.view.InflateException:二进制XML文件第41行:二进制XML文件第41行:膨胀类ImageView时出错
Caused by: android.view.InflateException: Binary XML file line #41: Error inflating class ImageView
Caused by: android.content.res.Resources$NotFoundException: Drawable com.demo.android:drawable/ic_demo with resource ID #0x7f080160
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/ic_demo.xml from drawable resource ID #0x7f080160
我尝试将android:src替换为app:srcCompat并添加 vectorDrawables.useSupportLibrary = true在defaultConfig中
下面是布局文件代码
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/demo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/ic_demo"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:visibility="gone" />
</RelativeLayout>
更新: 我发现了一个问题。问题是某些媒介正在运行,尽管其中某些媒介是从相同来源以SVG格式创建的,但其中一些不受支持。谁能建议我将PNG转换为SVG文件。
答案 0 :(得分:0)
找不到可绘制的ic_demo
。
确保此可绘制对象位于res/drawable
文件夹中,而不位于drawable-v21
或drawable-v24
答案 1 :(得分:0)
替换
app:srcCompat="@drawable/ic_demo"
使用
android:src="@drawable/ic_demo"
答案 2 :(得分:0)
如果图像是矢量可绘制对象,请确保已完成以下代码。
在您应用的build.gradle中添加:
android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
要获得对低于API 21的向量支持,请在onCreate中添加以下内容:
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
此外,将ImageView
替换为android.support.v7.widget.AppCompatImageView