android中的白色位图

Max*_*rai 4 android bitmap wallpaper

我想用白色位图设置主页壁纸:

    Bitmap bitmap = Bitmap.createBitmap(WIDTH, HEIGHT, Bitmap.Config.ARGB_8888);

    Canvas canvas = new Canvas(bitmap);
    canvas.drawColor(0xfff);

    WallpaperManager wall = WallpaperManager.getInstance(this);
    try {
        wall.setBitmap(bitmap);
    } catch (IOException e) {
        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

壁纸变黑了.这有什么不对?

Ale*_*ecs 11

只需添加bitmap.eraseColor(Color.WHITE); 为第二行


Dev*_*red 7

我的第一个猜测是你的颜色选择,假设这是你实际代码中的值,而不是编辑.

在Java中颜色整数的形式为ARGB,那么Color.WHITE就是0xFFFFFFFF,Color.BLUE就是0xFF0000FF,等等.

在彩色您的代码(0xFFF)将扩展到0x00000FFF这是蓝与在一个小绿混合,但阿尔法信道是零,所以Canvas基本上是与写入一个透明颜色.

如果你使用的是标准颜色,我会在Color这里坚持使用类中的常量作为参数,但是如果你想自己定义颜色,请记住放置全颜色或使用Canvas.drawRGB().