Android的 - 设置壁纸,以适应手机屏幕尺寸(Android - set wallpaper

2019-09-01 21:09发布

我用一个简单的代码来设置wallpaper

Bitmap bmap2 = BitmapFactory.decodeStream(getResources().openRawResource(R.drawable.a));

getApplicationContext().setWallpaper(bmap2);

当图像尺寸大于屏幕尺寸更大的问题发生。 我可以看到输入图像的仅一部分。

我试着调整等的方法createScaledBitmap和它的作品,而不是像我想要的。 createScaledBitmap是在调整位图,而不是图片的大小,只是分辨率(只是弄乱画面的质量,而不是加载到手机壁纸图片尺寸)。

有谁知道如何缩小图像的大小,而不是一个解决?

编辑:

几个画面:

从菜单图片,规模前和规模后:

http://zapodaj.net/14097596e4251.png.html

所以你可以看到,只有缩放的分辨率,而不是图片的大小。

有任何想法吗??

Answer 1:

从笔者的答案是在的意见,但因为没有人看到的评论,我在这里复制:

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();
 }


文章来源: Android - set wallpaper to fit phone screen size