我正在使用WallpaperManager在后台显示位图。
我正在使用wallpaperManager.setBitmap(wallPaper);
//壁纸当然是一个位图。
我想将此位图调整为屏幕大小并在每个虚拟屏幕中显示(重复)。
有关于此的任何提示吗?
答案 0 :(得分:0)
Android开发者网站上的这篇文章显示了每种密度的屏幕分辨率范围。
我认为壁纸必须与屏幕分辨率相匹配,并且不会拉伸。例如,如果您创建一个具有高屏幕密度(如480x854)的新仿真器,则可以看到此信息。默认主屏幕背景居中,顶部和底部有大黑带。
WallpaperManager API指示您必须使用PNG或JPEG格式的图像,即使您使用setResource()方法 - 资源必须是Bitmap,因此不是9补丁或其他类型的Drawable。 / p>
答案 1 :(得分:0)
您可以检测设备的密度,然后相应地设置壁纸:
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
switch(displayMetrics.densityDpi){
case DisplayMetrics.DENSITY_LOW:
// Wallpaper for small sized devices.
break;
case DisplayMetrics.DENSITY_MEDIUM:
// Wallpaper for medium-sized devices.
break;
case DisplayMetrics.DENSITY_HIGH:
// Wallpaper for big-sized devices.
break;
}