Android 如果扩展活动,ImageView将保持为空,但如果扩展活动,ImageView将按预期工作

Android 如果扩展活动,ImageView将保持为空,但如果扩展活动,ImageView将按预期工作,android,xml,android-imageview,Android,Xml,Android Imageview,我不确定为什么我不能使用ImageView在我的应用程序中显示图像。有什么想法吗?请询问您是否需要更多信息。谢谢 在我的活动\u main.xml中,我有: <ImageView android:id="@+id/imageView2" android:layout_width="match_parent" android:layout_height="match_parent" app:src

我不确定为什么我不能使用
ImageView
在我的应用程序中显示图像。有什么想法吗?请询问您是否需要更多信息。谢谢

在我的
活动\u main.xml中,我有:

<ImageView
            android:id="@+id/imageView2"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:srcCompat="@drawable/armas_barcode" />

如果布局文件包含因需要不同的API级别而无法工作的行,则这些行将被忽略,代码将编译,应用程序将工作。或多或少

如果MainActivity扩展了活动
,则布局中的以下行将不适用

app:srcCompat=“@drawable/armas\u条形码”

这是因为
app
命名空间(xmlns:app=”http://schemas.android.com/apk/res-auto)仅适用于
AppCompatActivity

但是,您也可以为
ImageView
设置可绘制资源,如下所示:

android:src="@drawable/armas_barcode"

你是对的。当我把它改成
src
时,它就工作了。你知道为什么Android Studio默认只显示
srcCompat
?如果这可以改变呢?我不清楚使用
AppCompat
是否会带来任何好处。这似乎是在创建AppCompatibility:)@Evren Yurtesen-当您想在应用程序中使用新功能时,Appcompat.xyz库非常有用,而应用程序也应该在旧设备上运行。Android Studio向您显示默认设置,因为这样您可以注意到它们的存在,否则您可能会忽略它们。这有时很有用。但我承认,我对当前Android Studio版本中的默认布局文件(将Android.support.constraint.ConstraintLayout更改为LinearLayout需要很长时间)感到有点不适,不幸的是,我不知道如何摆脱默认布局——作为一种解决方法,我经常复制旧代码
android:src="@drawable/armas_barcode"