Android:我如何阻止画布在动画时绘制整个视图

时间:2015-07-18 07:27:44

标签: android canvas

我有一个自定义视图,我在其onDraw(Canvas画布)方法上绘制UI。我有些情况下我需要做一些动画(动画是真的)

public class GameView extends View {

//more code

@Override
protected void onDraw(Canvas canvas)
{
    canvas.drawBitmap(item.getBitmap(), item.getXY().getX(), item.getXY().getY(), null);
    canvas.drawBitmap(ResizedBitmapMapping.getHouse(), 0f, 0f, null);
    if(amin){
        canvas.save();
        canvas.rotate(currentValue);
        drawBall(canvas);
        canvas.restore();
    }
}

但是球很小,所以只需要重新绘制一小部分视图。绘制整个视图应该是一个性能问题。绘制这样的动画有什么权利?

1 个答案:

答案 0 :(得分:0)

您正在寻找的是Canvas.clipRect()

Here是来自Google的简短视频,解释了它的工作原理以及如何使用它。或者,您可以仅使用View.invalidate(int,int,int,int)使视图区域无效。