我用来为位图设置背景的代码是
wallpaperManager.setBitmap(result, null, true, WallpaperManager.FLAG_SYSTEM);
wallpaperManager2.setBitmap(result, null, true, WallpaperManager.FLAG_LOCK);
但是,图像没有居中,我认为它与null
参数有关,该参数接受Rect为visibleCropHint
。
我如何将result
位图设置为以X和Y为中心?
答案 0 :(得分:1)
doc说:
为此参数传递null表示完整图片应为 在给出图像和设备的宽高比的情况下,如果可能显示, 等
所以不能保证图像完全显示。
尝试一下(来自here):
Bitmap img = 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(img, width, height, true);
WallpaperManager wallpaperManager = WallpaperManager.getInstance(MainActivity.this);
try {
wallpaperManager.setBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
}