ImageView 不显示某些图像

ImageView not displaying some images

我正在尝试在 AndroidImageView 中显示图像,但由于未知原因某些图像不显示。工作的图像相对较小,而不工作的图像较大 (1280x720) 左右。我什至试图通过在 .xml 文件中添加 maxWidth 或 maxHeight 或什至通过代码来限制图像的大小,但仍然没有结果。

这是我的 .xml ImageView 代码;

<ImageView
            android:id="@+id/imageImageView"
            android:layout_width="fill_parent"
            android:maxHeight="100dp"
            android:maxWidth="100dp"
            android:layout_height="wrap_content"
            android:contentDescription="@string/empty"
            android:gravity="center"
            android:src="@drawable/test3" />

对于我的代码:

ImageView imageView = (ImageView) view
                .findViewById(R.id.imageImageView);
        imageView.requestLayout();
        imageView.getLayoutParams().height = 100;
        imageView.getLayoutParams().width = 100;

有什么想法/建议吗?谢谢。

试试这个: 在图像视图的 xml 代码中添加这两行:

android:scaleType="fitXY"
android:adjustViewBounds="true"
<ImageView
            android:id="@+id/imageImageView"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:contentDescription="@string/empty"
            android:src="@drawable/test3" />

试试这个:)

尝试像这样调整图片大小:

private Drawable resize(Drawable image) {
    Bitmap bitmap = ((BitmapDrawable) image).getBitmap();
    Bitmap bitmapResized = Bitmap.createScaledBitmap(bitmap,
            (int) (bitmap.getWidth() * 0.5), (int) (bitmap.getHeight() * 0.5), false);
    return new BitmapDrawable(getResources(), bitmapResized);
}

并且在片段的 onCreateView() 中:

ImageView imageView = (ImageView) view
                .findViewById(R.id.imageImageView);
        imageView.setImageResource(0);
        Drawable draw = getResources().getDrawable(R.drawable.test3);
        draw = resize(draw);
        imageView.setImageDrawable(draw);

我前段时间遇到了同样的问题,我的解决方案是检查图像命名约定示例(“-”到“_”,否space 在名称中,...) 您可以查看 java 命名约定以获取更多信息。

我遇到了这个错误

W/OpenGLRenderer: Bitmap too large to be uploaded into a texture (2250x4386, max=4096x4096)

我的图像大小实际上是 750x1462,但因为它位于 drawable-mdpi res 桶中,我认为它在幕后被放大了,所以我将它移动到 xxhdpi,然后它加载图像没有问题。

这可能来得有点晚了。我认为文件名也可能是个问题。我刚刚在 [=18] 的可绘制文件夹中将我的 sebastian-staines-mfzdRsWsiRA-unsplash.jpg 重命名为 sebastian_staines.jpg =] Studio 和 Boom,Imageview 显示了它。 希望这对其他人有帮助