Android壁纸背景

时间:2012-05-20 16:23:24

标签: android background wallpaper

我目前正在使用以下代码片段来设置我的壁纸背景。我的问题是完整的图像没有出现在壁纸上。它总是被剪裁并且从壁纸的底视图和侧视图中丢失了对象。我试图裁剪照片,调整图像大小,我也尝试更改分辨率以匹配我的模拟器。这些都不起作用。你们中的任何人都知道如何使用以下代码显示完整的图像:

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

1 个答案:

答案 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;