ImageView不显示某些图像

时间:2015-04-03 10:52:58

标签: android android-imageview

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

这是我对ImageView的.xml代码;

<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;

任何想法/建议?谢谢。

6 个答案:

答案 0 :(得分:8)

尝试调整图片大小,如:

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);

答案 1 :(得分:2)

前段时间我有同样的问题,我的解决方案是检查图像命名约定示例(&#34; - &#34;到&#34; _&#34;,否名称中的空格,...... )您可以查看java命名约定以获取更多信息。

答案 2 :(得分:1)

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

android:scaleType="fitXY"
android:adjustViewBounds="true"

答案 3 :(得分:0)

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

试试这个:)

答案 4 :(得分:0)

对我来说,我遇到了这个错误

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

我的图像大小实际上是750x1462,但是由于它位于drawable-mdpi res存储桶中,所以我认为它在后台被放大了,所以我将其移至xxhdpi,然后加载了图像而没有问题。

答案 5 :(得分:0)

这可能来晚了。我认为文件名也可能是一个问题。我刚刚在Android Studio和Boom的可绘制文件夹中将我的名字从 sebastian-staines-mfzdRsWsiRA-unsplash.jpg 重命名为 sebastian_staines.jpg ,Imageview已显示它。 希望这对别人有帮助