在 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 中上传我的图片来修复它