正确的方法来设置布局android的背景图像

时间:2017-08-29 13:56:21

标签: android image android-glide

我尝试了许多可能的方法来为布局设置完美的背景图像,但从未获得完美的结果。让我来形容你我的问题。我有一张大小为2880 x 5120像素的图片。我将图像保存在xxxhdpi文件夹中,然后使用Glide库作为背景图像加载图像。我通过以编程方式计算屏幕大小来调整图像大小。 以下是我将以下代码加载为背景图像。

Glide.with(LoginActivity.this)
                    .load(R.drawable.login_background)
                    .override(screenSize[0]*2,screenSize[1])
                    .animate(animationObject)
                    .diskCacheStrategy(DiskCacheStrategy.RESULT)
                    .into(backgroundImage);

screenSize()方法:

private int[] screenSize() {
        Display display = getWindowManager().getDefaultDisplay();
        Point size = new Point();
        display.getSize(size);
        return new int[]{size.x, size.y};
    }

这是实际的背景图片:

enter image description here

将图像加载为背景图像后。我得到了以下结果。

enter image description here

图像不完全适合屏幕。 设置背景图片的最佳解决方案是什么?

1 个答案:

答案 0 :(得分:1)

您无需经历计算不同屏幕尺寸的麻烦。您应该使用不同大小的图像资源,android将根据屏幕大小处理它。您可以使用this post来阅读更多信息,但我总结了您可以在项目中使用的尺寸作为背景图片。

它具有您需要用于不同屏幕的所有尺寸以及横向模式尺寸。

MDPI:
Portrait: 320x480px
Landscape: 480x320px
HDPI:
Portrait: 480x800px
Landscape: 800x480px
XHDPI:
Portrait: 720px1280px
Landscape: 1280x720px
XXHDPI:
Portrait: 960px1600px
Landscape: 1600x960px
XXXHDPI:
Portrait: 1280px1920px
Landscape: 1920x1280px