Android图片无法在ImageView中显示

7

我遇到了xml文件的问题。我想展示一张图片,但是图片没有显示出来。奇怪的是,在我的应用程序的其他部分中,我使用了同一张图片,那里一切正常。我使用的照片也在Android Studio中显示,但在我的手机上没有显示。你可以在下面找到我的xml。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/backgroundcollor">  

 <ImageView
    android:id="@+id/imgPersoon"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="65dp"
    android:adjustViewBounds="true"
    android:scaleType="fitXY"
    app:srcCompat="@drawable/persoon" />

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/imgPersoon"
    android:fillViewport="false"
    android:orientation="vertical"
    android:padding="10dp">
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

        <TextView
            android:id="@+id/txtName"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_marginTop="14dp"
            android:text="Naam:"
            android:textAlignment="center"
            android:textColor="@color/colorPrimary" />

    <EditText
            android:id="@+id/txtFirstName"
            android:layout_width="match_parent"
            android:layout_height="25dp"
            android:layout_below="@+id/txtName"
            android:layout_centerHorizontal="true"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:background="@drawable/rounded_button_grey"
            android:ems="10"
            android:inputType="textPersonName"
            android:text="Name"
            android:textSize="14sp" />

    <EditText
        android:id="@+id/txtLastName"
        android:layout_width="match_parent"
        android:layout_height="25dp"
        android:layout_below="@+id/txtFirstName"
        android:layout_centerHorizontal="true"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:layout_marginRight="10dp"
        android:background="@drawable/rounded_button_grey"
        android:ems="10"
        android:inputType="textPersonName"
        android:text="Name"
        android:textSize="14sp" />

    <TextView
        android:id="@+id/txtDate"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/txtLastName"
        android:layout_marginTop="14dp"
        android:text="Naam:"
        android:textAlignment="center"
        android:textColor="@color/colorPrimary" />

</RelativeLayout>

</ScrollView>
</RelativeLayout>
5个回答

47

请使用android:src代替app:srcCompat


3
谢谢,这个方法可行!但是为什么在某些情况下可以使用“app:srcCompat”呢? - Mickey Evers
3
app:srcCompat 用于支持库中矢量图的向后兼容性。也许在其他情况下您正在使用 AppCompatImageView - Josh Laird
1
但是,我在许多地方都使用了srccompat,并且它并没有失败!它只在某些情况下失败!为什么会这样?这是文件特定的吗?而且IDE显示警告要更改为srcCompat!! - adi
@adi 我建议你开一个新问题。我不再是安卓开发者了 :) - Josh Laird

4
您可以使用以下代码设置图像:

您可以使用以下代码设置图像

android:src

或者

android:background

希望它能帮到你


1

我认为你应该将srcCompat编辑为src。 src指源文件,sourceCompat是为了向下兼容在ICS-IceCream Sandwich及以下版本的Android设备上的矢量图形文件。


1

图像的大小可能也是一个问题。将图像调整为较小的尺寸(在Windows中使用画图软件),然后使用它,这可能有效。


谢谢,它起作用了。我有一张分辨率很高的图片,在圆形图像视图上没有显示出来。按照您的解决方案,我降低了图像分辨率,现在它可以正常工作了。 - Rahat Shah

1
应用程序扩展了AppCompatImageView。我使用。
android:foreground

这对我有效。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接