代码之家  ›  专栏  ›  技术社区  ›  TheChubbyPanda

ImageView问题,图像不显示或抛出错误

  •  0
  • TheChubbyPanda  · 技术社区  · 6 年前

    尝试的第一种方法:

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srcCompat="@drawable/login_bg"
        android:scaleType="centerCrop"
        android:contentDescription="@string/description_bg" />
    

    这将打开应用程序,但不显示图像。(而是显示白色背景)。

    尝试的第二种方法:

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/login_bg"
        android:scaleType="centerCrop"
        android:contentDescription="@string/description_bg" />
    

    返回错误:

    E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: package, PID: 30016
                  java.lang.RuntimeException: Unable to start activity ComponentInfo{package/package.LoginActivity}: android.view.InflateException: Binary XML file line #9: Binary XML file line #9: Error inflating class android.widget.ImageView
    

    全堆栈跟踪 here .

    Activity 在我的生活中。

    编辑

    我试了另一个图像,效果很好。为什么 this

    我的文件夹结构:

    My folder structure

    1 回复  |  直到 6 年前
        1
  •  2
  •   kartar kat    6 年前

    我认为XML没有问题:

    android:src="@drawable/login_bg"
    

    问题可能出在你的形象上 登录

    在这里尝试不同的图像 登录

    android:src="@drawable/new_image"
    

    所以,在检查您编辑的问题之后:

    我想你在应用程序中使用的是高分辨率图像,它有一个 OutOfMemory错误 日志文件中有错误。

    所以你应该定义 android:largeHeap android:hardwareAccelerated 在你的清单上:

    <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:largeHeap="true"
    android:hardwareAccelerated="false"
    android:theme="@style/AppTheme"
    ....
    ....
    

    希望我的回答对你有帮助。