Canvas状态保存Android

时间:2013-06-15 15:12:43

标签: android canvas

在我的android代码中,onWraw方法在5ms后反复调用。我想重绘图像,并希望一个图像静态在一个位置。但问题是当再次调用OnDraw它重绘两个图像。我希望它只重绘一个图像而不是一个图像。这是我的OnDraw方法

protected void onDraw(Canvas canvas) {
        canvas.drawBitmap(mVolleyBall, cx, cy, null); // Image to be redrawn

            canvas.drawBitmap(red,x, y, null); //  Static image
}

2 个答案:

答案 0 :(得分:0)

当调用OnDraw时,它将绘制该方法中定义的内容。 因此,您需要在两个图像中定义坐标,以便放置它们。 根据您的要求,需要修复一个图像的坐标,其他图像将使用新的x,y进行更新。

答案 1 :(得分:-1)

我的建议是,制作一个只允许它发生一次的布尔变量。像这样:

`protected void onDraw(Canvas canvas) {
     canvas.drawBitmap(mVolleyBall, cx, cy, null); // Image to be redrawn
        if(!once){
        canvas.drawBitmap(red,x, y, null); //  Static image
        once = true        
        }
}`

在初始化的某个地方将变量声明为false。