WallpaperManager在某些设备上将壁纸缩小得太小。我使用了以下代码。
Bitmap srcBitmap = .....
WallpaperManager wm = WallpaperManager
.getInstance(getApplicationContext());
int height = wm.getDesiredMinimumHeight();
int width = wm.getDesiredMinimumWidth();
wm.setBitmap(Bitmap.createScaledBitmap(srcBitmap, width , height , true);
在Android 4.0.4的星系笔记上,壁纸填满了整个屏幕。但是在具有2.3的星系s2上,壁纸只会在屏幕中央填充一个小矩形。
问候,
MP5
答案 0 :(得分:3)
问题是wm.getDesiredMinimumHeight();
和wm.getDesiredMinimumWidth();
在某些设备上返回-1。因此Bitmap.createScaledBitmap(srcBitmap, width , height , true);
失败,并使用了srcBitmap
的原始大小。
答案 1 :(得分:0)
这将使您的位图宽度和高度适合屏幕
WallpaperManager wallmanage = (WallpaperManager) getSystemService(WALLPAPER_SERVICE);
wallmanager.setBitmap(bitmap);
wallmanager.suggestDesiredDimensions(w, h);
where w = bitmap.getWidth();
and h = bitmap.getHeight();