6

白いビットマップで家の壁紙を設定したい:

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

そして壁紙が黒くなります。何が問題なのですか?

4

2 に答える 2

18

bitmap.eraseColor(Color.WHITE); 2行目として追加するだけ

于 2015-10-18T16:48:10.843 に答える
8

これが実際のコードの値であり、編集されていないと仮定すると、私の最初の推測はあなたの色の選択です。

JavaのカラーintはARGBの形式を取り、Color.WHITEis 0xFFFFFFFFColor.BLUEis0xFF0000FFなどです。

コード( )の色は、少し緑が混ざった青に拡張されますが、アルファチャネルはゼロであるため、基本的に透明な色で記述されます。0xFFF0x00000FFFCanvas

標準色を使用している場合は、ここでパラメーターとしてクラスの定数を使用Colorしますが、自分で色を定義する場合は、フルカラーを配置するか、Canvas.drawRGB()代わりに使用することを忘れないでください。

于 2012-12-10T23:15:13.093 に答える