Reputation: 8433
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);
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.
Upvotes: 0
Views: 1019
Reputation: 46844
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.
Upvotes: 1