我正在使用最简单的代码来设置wallpaper
Bitmap bmap2 = BitmapFactory.decodeStream(getResources().openRawResource(R.drawable.a));
getApplicationContext().setWallpaper(bmap2);当图像尺寸大于屏幕尺寸时,就会出现问题。我只能看到输入图片的一部分。
我尝试过调整createScaledBitmap等方法的大小,它可以工作,但不是我想要的。createScaledBitmap正在调整位图的大小,但不是图片的大小,而是分辨率(只是弄乱了图片的质量,而不是将图片大小作为壁纸加载到手机中)。
有谁知道如何缩小图像的尺寸,而不是缩小分辨率?
编辑:
几个屏幕:
来自菜单、缩放前和缩放后的图像:
http://zapodaj.net/14097596e4251.png.html
所以你可以看到,只有缩放的分辨率,而不是图片的大小。
有什么想法吗?
发布于 2013-06-04 17:14:21
来自作者的答案在评论中,但由于没有人看到评论,我将其复制到这里:
Bitmap bmap2 = BitmapFactory.decodeStream(getResources().openRawResource(R.drawable.paper));
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int height = metrics.heightPixels;
int width = metrics.widthPixels;
Bitmap bitmap = Bitmap.createScaledBitmap(bmap2, width, height, true);
WallpaperManager wallpaperManager = WallpaperManager.getInstance(MainActivity.this);
try {
wallpaperManager.setBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
}https://stackoverflow.com/questions/16358613
复制相似问题