如何在 canvas 上绘制多个文本

How to draw multiple texts on canvas

我已经创建了一个绘图应用程序,现在我正在尝试允许用户向绘图添加文本。文本将放置在屏幕上用户用手指触摸的任何位置。使用以下代码,可以在屏幕上绘制文本和绘图。但是,这只会执行一次。在我点击屏幕的那一刻,之前的文字消失了,新的文字出现在我当前的手指位置。

@Override
protected void onDraw(Canvas canvas) {

    canvas.drawColor(canvasColor);  


    for(Pair<Path, Paint> p : paths){
        canvas.drawPath(p.first, p.second);
        }
        canvas.drawPath(drawPath, drawPaint);

    if(textCB && !pbCol)
    {
        tPaint = new Paint();
        tPaint.setTextSize(textSize);
        tPaint.setStyle(Paint.Style.FILL);
        tPaint.setColor(tColor);
        canvas.drawText(addText, tx, ty, tPaint);
    }


}

如何才能允许在 canvas 上绘制多个文本?

好的,我找到了一种方法。绘制完文字后,我从getDrawingCache中得到位图,然后将位图绘制到canvas.