0

我有一个折线图,我想实现的不是每次都重绘网格。我尝试了以下方法,但网格仅在第一次可见,它表明 saveLayer 不起作用,或者我只是以错误的方式制作它。

protected void onDraw(Canvas canvas) {
        if (mRedrawGrid) {
            drawGrid(canvas);
            mGridLayer = canvas.saveLayer(0, 0, getWidth(), getHeight(), mPaint, Canvas.MATRIX_SAVE_FLAG);
        } else
            canvas.restoreToCount(mGridLayer);
        drawLineChart(canvas);
    }
4

1 回答 1

1

愿这对您有所帮助:

Buddy 带上你CanvasLinearLayout然后将整个LinearLayout's背景保存到一个位图中,例如:

ll.buildDrawingCache();
Bitmap bt = ll.getDrawingCache();
于 2013-08-27T07:15:03.703 回答