gpt4 book ai didi

android - Canvas 未正确重绘

转载 作者:行者123 更新时间:2023-11-30 03:52:01 30 4
gpt4 key购买 nike

我正在写一个简单的 View ,它会显示一个点,经过一些操作后,显示下一个点。这些点位于垂直 strip 上。所以我创建了一个函数来清除 strip 。然后在我想要点的位置画一个圆圈。代码段如下。

private void clear_strip(){
paint.setColor(Color.BLACK);
paint.setStyle(Paint.Style.FILL_AND_STROKE);
m_canvas.drawRect( 0, 0,width/8, height, paint);
paint.setColor(Color.GREEN);
}

private void set_dot(){
clear_strip();
m_canvas.drawCircle(width/10, (int) (font_height*(scoreboard.current_batter_position()+0.5))/1, font_height/4, paint);
}

@Override
protected void onDraw(Canvas canvas) {
set_dot();
canvas.drawBitmap(m_bitmap, 0, 0, paint);
}

但是其中一个点就是没有更新。它会保留旧点,跳过那个点,然后移动到下一个点。我试图在调用 drawCircle 之前将位置打印到 logcat,位置是正确的,只是没有绘制(也没有清除)....请指教。

最佳答案

你得到一个 Canvas 来绘制到你的 onDraw 方法中。但是点画代码使用 Canvas m_canvas。将 Canvas 作为参数传递给点绘制代码以解决此问题。

关于android - Canvas 未正确重绘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14009348/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com