在代码中出现一定延迟后,我无法显示矩形。 这就是我正在做的事情
DashPathEffect dashPath = new DashPathEffect(new float [] {1,0},1);
paint.setPathEffect(dashPath);
paint.setStrokeWidth(300);
final int size =300;
canvas.drawLine(0,size,100,size,paint);
尝试{
Thread.sleep(4000, 0);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
canvas.drawLine(110,size,200,size,paint);
我无法注意到移动屏幕中这两个矩形之间有任何延迟。两者都出现在同一时间。我所要做的就是一个接一个地绘制矩形,中间有一些延迟。这段代码正在做的是,等待4秒然后同时显示两个矩形。谢谢。
答案 0 :(得分:1)
你永远不应该在UI线程中睡觉。如您所见,这会导致整个程序锁定并等待睡眠完成。
相反,在这种情况下,您可能希望研究使用处理程序。有关如何执行此操作的完整说明,请参阅timed ui-updates。