深色模式下可绘制的颜色自动更改错误

时间:2020-09-28 06:44:04

标签: android

我在自定义视图中将drawable用于背景。当我在realme c2中运行代码并在设置中启用暗模式时,可绘制颜色没有改变。这是方法。

public static void getShareBitmap(Canvas canvas, Context context, Bitmap bitmap, String nickName) {
    
    //Draw the original picture
    Paint paint = new Paint();
    paint.setColor(Color.GREEN);

    //Drawable
    Drawable drawable1 = ContextCompat.getDrawable(context, R.drawable.bg_agenda_list);
    assert drawable1 != null;
    Bitmap shareBitmap = drawableToBitmap(drawable1);
    float top = bitmap.getHeight() - 10 - shareBitmap.getHeight();
    canvas.drawBitmap(shareBitmap, 10, top, paint);
}


//Drawable to bitmap method

public static Bitmap drawableToBitmap(Drawable drawable) {

    if (drawable instanceof BitmapDrawable) {
        return ((BitmapDrawable) drawable).getBitmap();
    }

    Bitmap bitmap = Bitmap.createBitmap(300, 100, Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(bitmap);
    drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
    drawable.draw(canvas);

    return bitmap;
}

// Ondraw方法

protected void onDraw(Canvas canvas) {
  
    Bitmap bitmap = Bitmap.createBitmap(getWidth(), 300, Bitmap.Config.ARGB_8888);
    getShareBitmap(canvas,getContext(),bitmap,"JACK");
}

enter image description here

0 个答案:

没有答案