我有一个自定义视图,我在其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();
}
}
但是球很小,所以只需要重新绘制一小部分视图。绘制整个视图应该是一个性能问题。绘制这样的动画有什么权利?
答案 0 :(得分:0)
您正在寻找的是Canvas.clipRect()。
Here是来自Google的简短视频,解释了它的工作原理以及如何使用它。或者,您可以仅使用View.invalidate(int,int,int,int)使视图区域无效。