ImageView 不显示某些图像
ImageView not displaying some images
我正在尝试在 Android 的 ImageView 中显示图像,但由于未知原因某些图像不显示。工作的图像相对较小,而不工作的图像较大 (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 显示了它。
希望这对其他人有帮助
我正在尝试在 Android 的 ImageView 中显示图像,但由于未知原因某些图像不显示。工作的图像相对较小,而不工作的图像较大 (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 显示了它。 希望这对其他人有帮助