【问题标题】:Android: how do i prevent canvas to draw the whole view when animationAndroid:我如何防止画布在动画时绘制整个视图
【发布时间】:2015-07-18 16:46:05
【问题描述】:

我有一个自定义视图,并在其 onDraw(Canvas 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();
    }
}

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

【问题讨论】:

    标签: android canvas


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-02
      • 1970-01-01
      • 2019-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多