Android代码将壁纸设置为手机屏幕尺寸

时间:2013-11-13 13:41:50

标签: android android-imageview

我使用以下代码从我的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();
        }

但是在手机中设置壁纸后,图像非常流畅,看起来并不好看。我做错了什么?

1 个答案:

答案 0 :(得分:0)

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

编辑:失真再次是因为您要调整图像大小以覆盖全屏大小。我想如果你没有调整它的大小,它可能会起作用,虽然我到目前为止还没有使用它。