Масштабировать растровое изображение и установить в качестве обоев - высота становится грязной
Я пытаюсь масштабировать растровое изображение до размера экрана и установить его в качестве обоев, но я заметил, что на некоторых устройствах (где экран немного шире) обои немного грязные по высоте. Может ли кто-нибудь помочь мне правильно масштабировать изображение?
Вот мой код:
int widthPx = getWindowManager().getDefaultDisplay()
.getWidth();
int heightPx = getWindowManager().getDefaultDisplay()
.getHeight();
// bmp = Bitmap.createScaledBitmap(bmp, widthPx, heightPx,
// true);
BitmapDrawable drawable = (BitmapDrawable) background
.getDrawable();
Bitmap bitmap = drawable.getBitmap();
try {
WallpaperManager myWallpaperManager = WallpaperManager
.getInstance(getApplicationContext());
Bitmap resizedBitmap = Bitmap.createScaledBitmap(
bitmap,
myWallpaperManager.getDesiredMinimumWidth(),
myWallpaperManager.getDesiredMinimumHeight(),
true);
myWallpaperManager.setWallpaperOffsetSteps(1, 1);
myWallpaperManager.suggestDesiredDimensions(widthPx,
heightPx);
myWallpaperManager.setBitmap(resizedBitmap);
Toast.makeText(BackgroundPreview.this,
getString(R.string.wallpaper_set),
Toast.LENGTH_SHORT).show();
finish();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(BackgroundPreview.this,
getString(R.string.error_setting_wallpaper),
Toast.LENGTH_SHORT).show();
}