Thread.sleep in Canvas
I am not able to display the rectangles after a certain delay in code. Here is what I am doing
DashPathEffect dashPath =new DashPathEffect(new float[]{1,0}, 1);
开发者_如何学JAVA paint.setPathEffect(dashPath);
paint.setStrokeWidth(300);
final int size =300;
canvas.drawLine(0, size ,100 , size, paint);
try {
Thread.sleep(4000, 0);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
canvas.drawLine(110, size ,200 , size, paint);
I am not able to notice any delay between these two rectagles in the mobile screen. Both appear at the same time. All I am trying to do is, draw the rectangles one after other with some delay in between. What this code is rather doing is, waiting for 4 seconds and then displaying both rectangles at same time. Thank you.
You should never sleep in the UI thread. As you saw, this causes the entire program to lock up and wait for the sleep to complete.
Instead, in this case you might want to look into using a handler. See timed ui-updates for a full description on how to do this.
精彩评论