ImageView在布局中显示但在实际设备上不显示

51

我有一个 ImageView,想要显示匹配设备的全宽度,我是这样实现的:

<ImageView
    android:id="@+id/home_bar_newvault"
    android:layout_width="wrap_content"
    android:layout_height="40dp"
    android:scaleType="centerCrop"
    android:layout_alignParentBottom="true"
    android:src="@drawable/home_bar" />

home_bar是一个PNG图像文件,尺寸为2399x254。当我选择查看UI的图形布局时,它会在活动底部正确显示imageview。但是,当我在设备上启动应用程序时,它根本不会显示Imageview。


你在 Graphical Layout 中设置的目标屏幕和分辨率是否与您实际设备的相同? - user2652394
是的,我已经尝试了每个分辨率和目标屏幕,它们都在图形布局中显示ImageView。不过我只有一个物理设备进行实际测试,可能是设备相关的问题? - Tim Kranen
如果图片过大,logcat会显示如下信息:“Bitmap too large to be uploaded into a texture (2496x4437, max=4096x4096)”。 参见此答案 - Josselin
12个回答

0

对于我的情况,我更改了图像的比例类型

android:scaleType="fitXY"

0

以下答案基于最新的Android Studio开发(2021年)

您应该使用androidx.appcompat.widget.AppCompatImageViewapp:srcCompat来最大化兼容性。

当您创建新的默认项目时,实现应该已经包含在内,因为这与ConstraintLayout的情况有些相似。

<androidx.appcompat.widget.AppCompatImageView
    android:id="@+id/home_bar_newvault"
    android:layout_width="wrap_content"
    android:layout_height="40dp"
    android:scaleType="centerCrop"
    android:layout_alignParentBottom="true"
    app:srcCompat="@drawable/home_bar" />

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