Код: Выделить всё
protected void onDraw(Canvas canvas) {
if (...) {
canvas.drawRect(100, 100, 200, 200, p);
canvas.drawRect(100, 300, 200, 400, p);
canvas.drawRect(100, 500, 200, 600, p);
}
}
Делаю так
Код: Выделить всё
if (...) {
epoch[0] = System.currentTimeMillis()+500;
while (System.currentTimeMillis() <= epoch[0]) {
}
canvas.drawRect(100, 100, 200, 200, p);
epoch[1] = System.currentTimeMillis()+500;
while (System.currentTimeMillis() <= epoch[1]) {
}
canvas.drawRect(100, 300, 200, 400, p);
epoch[2] = System.currentTimeMillis()+500;
while (System.currentTimeMillis() <= epoch[2]) {
}
canvas.drawRect(100, 500, 200, 600, p);
}
Тогда, подумал, нужно перерисосывать после каждой задержки.
Сделал так
Код: Выделить всё
if (...) {
epoch[0] = System.currentTimeMillis()+500;
while (System.currentTimeMillis() <= epoch[0]) {
}
canvas.drawRect(100, 100, 200, 200, p);
invalidate();
epoch[1] = System.currentTimeMillis()+500;
while (System.currentTimeMillis() <= epoch[1]) {
}
canvas.drawRect(100, 300, 200, 400, p);
invalidate();
epoch[2] = System.currentTimeMillis()+500;
while (System.currentTimeMillis() <= epoch[2]) {
}
canvas.drawRect(100, 500, 200, 600, p);
invalidate();
}
Как сделать появление блоков по очереди с задержкой между каждым 0.5 сек?