android中绘图刷新界面的问题
用android中的View类绘图的时候,绘制一个随机出现的矩形,用postInvalidate来更新界面就会刷新屏幕,上一个随机绘制的矩形就被刷新看不见了,应该怎么解决...
用android中的View类绘图的时候,绘制一个随机出现的矩形,用postInvalidate来更新界面就会刷新屏幕,上一个随机绘制的矩形就被刷新看不见了,应该怎么解决
展开
1个回答
展开全部
如果不用canvas.drawColor(Color.TRANSPARENT)的话是不会清屏的。不过还是要看下你的onDraw方法,凭空讲是讲不清楚的
追问
super.onDraw(canvas);
canvas.drawColor(Color.WHITE);
我定义x,y,a,b为数组,
index为下标
x[index] = (int) (Math.random()*240);
产生随机坐标,
canvas.drawRect(x[index],y[index],a [index],b[index],mPaint);
这是我的onDraw方法,把canvas.drawColor注释后还是不行啊
追答
我刚刚也写了一个测试一下,发现也会清屏,很奇怪。我忘记了我之前写的是surfaceview还是View,必须要用drawcolor才能清屏。等我再研究下看看
————————————————————————————
我刚才看了一下,View 里面用postinvalidate就会刷新屏幕,SurfaceView则不会,如果要到你想要的效果,只能用surfaceView了。要不然就用ArrayList去储存你随机生成的Rect,然后用一个循环全部画出来。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询