有效地扩展多个Android设备的图像:最佳方法

时间:2015-09-08 07:30:28

标签: android image scaling resolutions

我有大小为1080P的图像,现在我不想使用我们放在RES文件夹中的不同图像变体。我将在带有随机图像的1K设备上安装此应用程序,因此不可能有不同版本的图像。

我们可以在运行时缩放它,仍然可以获得最佳质量吗?

1 个答案:

答案 0 :(得分:2)

要缩放图像,请使用以下

Bitmap bitmap = BitmapFactory.decodeResource(
                getResources(), R.drawable.app_bg);
scaledBitmap = Bitmap.createScaledBitmap(bitmap, width, height, true);

然后将此scaledBitmap分配给任何ImageView或任何其他View。这会将原始Bitmap扩展为请求的widthheight。要获得设备屏幕的宽度和高度,请使用以下

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;

修改
使用此MemoryLeakException后,为了处理scaledBitmap.recycle()添加Bitmap