0

我使用以下代码将我的静态图像设置为我的 android 应用程序中的壁纸。图像尺寸为 425*700、280*180、600*400 等,因此图像尺寸不一样。

            try {
            WallpaperManager myWallpaperManager = WallpaperManager
                    .getInstance(context);

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

            // int fullWidth = wManager.getDesiredMinimumWidth();
            // int fullHeight = wManager.getDesiredMinimumHeight();

            Log.d("Debug", Integer.toString(fullWidth));
            Log.d("Debug", Integer.toString(fullHeight));

            Bitmap bitmap = BitmapFactory.decodeStream(getResources()
                    .openRawResource(R.drawable.hello));

            Bitmap bitmapResized = Bitmap.createScaledBitmap(bitmap, fullWidth,
                    fullHeight, true);
            myWallpaperManager.suggestDesiredDimensions(
                    bitmapResized.getWidth(), bitmapResized.getHeight());

            myWallpaperManager.setBitmap(bitmapResized);

        } catch (IOException e) {
            e.printStackTrace();
        }

但是在手机中设置为壁纸后,图像非常拉伸并且看起来不太好..我做错了什么?

4

1 回答 1

0

我想问题在于您已经提到的资源。为了获得良好的壁纸视图/质量,我们必须根据您设备的分辨率使用不同的图像资源,如果您想使用您的应用程序来设置许多设备使用的壁纸而不进行任何更改(一个 apk) . 关键是,您需要与您的设备分辨率相匹配的质量更好的图像。希望能帮助到你。

编辑:失真再次是因为您正在调整图像大小以覆盖全屏尺寸。我想如果你不调整它的大小,它可能会起作用,尽管我直到现在还没有使用它。

于 2013-11-13T14:52:55.250 回答