我目前正在使用以下代码片段来设置我的壁纸背景。我的问题是完整的图像没有出现在壁纸上。它总是被剪裁并且从壁纸的底视图和侧视图中丢失了对象。我试图裁剪照片,调整图像大小,我也尝试更改分辨率以匹配我的模拟器。这些都不起作用。你们中的任何人都知道如何使用以下代码显示完整的图像:
Bitmap background = BitmapFactory.decodeResource(getResources(), R.drawable.testimg2);
try {
wpm.setBitmap(background);
}catch(...){
....
}
更新了代码(仍然裁剪图像):
int width = display.getWidth();
int height = display.getHeight();
Log.v("WALLPAPER", "width and height are " + width + " " + height);
Bitmap background = BitmapFactory.decodeResource(getResources(), R.drawable.testimg2);
Bitmap scaled = Bitmap.createScaledBitmap(background, width, height, true);
答案 0 :(得分:2)
问题可能是壁纸经理所希望的解决方案。它可能是屏幕宽度的两倍,它可以调整壁纸的大小,使其符合所需的参数。尝试使用
找出所需的壁纸分辨率int minH, minW;
WallpaperManager myWallpaperManager = WallpaperManager.getInstance(getApplicationContext());
minH = myWallpaperManager.getDesiredMinimumHeight();
minW = myWallpaperManager.getDesiredMinimumWidth();
Log.d("TAG", "The desired wallpaper height is: " + minH + "; and the desired width is:" + minW);
之后用minH和minW制作一个Bitmap.createScaledBitmap。并记住在创建位图时将其放入:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inScaled = false;