canvas绘制直线刷新界面

今天想要绘制一段直线,直线是分段绘制的,当我绘制第二条直线时,第一条消失了
当我绘制第三条直线时,第二条消失了,第一条出现了,继续绘制就出现了,奇数线一起
显示,或者偶数线一起显示,请问为什么,怎样才能全显示?
调试:线没有重叠,起点终点的值处理了;

     public void initDraw() {
        try {
            canvas = holder.lockCanvas();
            if (canvas != null) {
                canvas.drawLine(startPoint.x, startPoint.y, endPoint.x, endPoint.y, paint);
                float x =  endPoint.x+0;
                float y =  endPoint.y+0;
                startPoint.x = x+0;
                startPoint.y = y+0;
            }
        } catch (Exception e) {
        } finally {
            if (canvas != null) {
                holder.unlockCanvasAndPost(canvas);
            }
        }
    }

5个回答

图片说明

android?还是html5?

楼主,你是使用的surefaceview绘制的。
是不是开始的位置一直在更新呢?导致绘制的开始位置不是接着上一次绘制的结束位置呢?

d276031034
风晴03 回复风晴03: 说错了 没有刷新画布
3 年多之前 回复
d276031034
风晴03 android,每次绘制的开始位置都是用的上一次的结束位置,但是我没有筛选画布,为什么上一次的消失了呢,并且之后绘制又出现了
3 年多之前 回复

发现了一些问题,现在绘制的方法是不刷新界面,但是canvas,好像是自动把我绘制的界面分为了三帧,每次显示绘制次数为3的整数倍的线条

可以参考其中对canvas的清除再生部分:
http://blog.csdn.net/csmzl/article/details/53996412

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问