在 android 中膨胀 class ImageView 时出错
Error inflating class ImageView in android
每当我点击 imageview 时我都会收到这个错误,当我切换到不同屏幕尺寸上测试我的应用程序时,这发生在我身上,这是我的 xml
<ImageView
android:id="@+id/search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginEnd="28dp"
android:layout_marginRight="28dp"
android:layout_marginTop="20dp"
app:srcCompat="@drawable/search"/>
这里是错误
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.ahmed.electionadmin, PID: 30789
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ahmed.electionadmin/com.example.ahmed.electionadmin.Search}: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class ImageView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
我尝试了很多解决方案,要求我将 src 替换为 srccompat 等等,但仍然有效,我们将不胜感激
替换为:
app:srcCompat="@drawable/search"
有:
android:src="@drawable/search"
Pay attention, not only src
with srcCompat
, also app
with android
.
如果有效请告诉我。
说明:您使用的不是支持库 ImageView
,而是常规库。 app
命名空间通常用于,与srcCompat
相同。因此,您需要更改 2 项,而不仅仅是一项。 这就是为什么仅将 srcCompat
更改为 src
不会产生任何结果的原因。
要使用 srcCompat
,您需要将 vectorDrawables.useSupportLibrary = true
添加到您的 build.gradle 文件中:
android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
或者您可以使用 src
而不是 srcCompat
来解决错误。
android:src="@drawable/search"
你想让图像适应不同的分辨率,你应该有不同分辨率的图像,比如 hdpi xhdpi,你可以使用矢量可绘制图像
我通过在 draawable no 24 中上传我的图片来修复它
每当我点击 imageview 时我都会收到这个错误,当我切换到不同屏幕尺寸上测试我的应用程序时,这发生在我身上,这是我的 xml
<ImageView
android:id="@+id/search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginEnd="28dp"
android:layout_marginRight="28dp"
android:layout_marginTop="20dp"
app:srcCompat="@drawable/search"/>
这里是错误
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.ahmed.electionadmin, PID: 30789
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ahmed.electionadmin/com.example.ahmed.electionadmin.Search}: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class ImageView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
我尝试了很多解决方案,要求我将 src 替换为 srccompat 等等,但仍然有效,我们将不胜感激
替换为:
app:srcCompat="@drawable/search"
有:
android:src="@drawable/search"
Pay attention, not only
src
withsrcCompat
, alsoapp
withandroid
.
如果有效请告诉我。
说明:您使用的不是支持库 ImageView
,而是常规库。 app
命名空间通常用于srcCompat
相同。因此,您需要更改 2 项,而不仅仅是一项。 这就是为什么仅将 srcCompat
更改为 src
不会产生任何结果的原因。
要使用 srcCompat
,您需要将 vectorDrawables.useSupportLibrary = true
添加到您的 build.gradle 文件中:
android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
或者您可以使用 src
而不是 srcCompat
来解决错误。
android:src="@drawable/search"
你想让图像适应不同的分辨率,你应该有不同分辨率的图像,比如 hdpi xhdpi,你可以使用矢量可绘制图像
我通过在 draawable no 24 中上传我的图片来修复它