要在Android设备上设置黑色或纯色壁纸,可以使用像素设置为该颜色的微小1x1像素图像。这适用于大多数Android设备(包括Nexus设备和其他运行Android的设备)。系统知道如何用一个像素填充整个屏幕,为您提供完整的纯色壁纸。
但是,有些Android设备在设置1x1像素图片壁纸后立即出错:
尝试略大的图像尺寸(2x2,3x3,4x4)也会失败。
我刚刚创建了一个开源Android应用来测试此问题:Minimum Wallpaper。其源代码可用on GitHub。
正如您在GitHub上看到的,实际设置壁纸的代码是:
public static Bitmap createColorSwatchBitmap(int width, int height, int color) {
final Bitmap colorBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
colorBitmap.eraseColor(color);
return colorBitmap;
}
和
final WallpaperManager wpManager = WallpaperManager.getInstance(context);
final Bitmap colorBitmap = ColorUtils.createColorSwatchBitmap(width, height, color);
wpManager.setBitmap(colorBitmap);
到目前为止,我有一份截图报告,在Allview P8 Energy上,最小壁纸尺寸为32x32。从我参与的另一个项目中,我得到一些信息,1x1壁纸也会在以下设备上失败:
我的问题:
设置1x1像素壁纸后,(仅)部分设备出错的原因是什么?
可能是最低限度的"安全"适合所有Android设备的壁纸尺寸?