14/11/2014, 06:18
|
| | Fecha de Ingreso: noviembre-2014
Mensajes: 2
Antigüedad: 10 años, 1 mes Puntos: 0 | |
Respuesta: Repintar la pantalla en un bucle Hola Metallick, mil gracias por responder.
He probado lo que me dices, pero me sigue pasando lo mismo, no se ve ningun pause en la app. De hecho recorre todo el bucle sin ningun pause entre cada iteracion.
Te adjunto el codigo, a lo mejor estoy usando mal el runnable:
private Handler miHandler;
private Runnable miRunnable;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.maingame);
RelativeLayout layout1 = (RelativeLayout) findViewById(R.id.layout1);
fondo = new Lienzo(this);
fondo.setOnTouchListener(this);
layout1.addView(fondo);
//Creamos la secuencia de casillas para memorizar
nivel = 3;
int num_filas = 3;
int num_columnas = 3;
secuencia = crearSecuencia(nivel,num_filas,num_columnas); this.miHandler = new Handler();
this.miRunnable = new Runnable() {
@Override
public void run() {
//tu accion for (int i=0; i<nivel; i++){
int casilla_num = (3*secuencia[i][0]) + 1 + secuencia[i][1];
casilla_tocada[0] = secuencia[i][0];
casilla_tocada[1] = secuencia[i][1];
fondo.invalidate();
miHandler.postDelayed(this,3000);
}
}
}; this.miRunnable.run();
}
No estoy seguro, pero creo que el problema radica en la accion invalidate, de manera que se me ejecutan todos los invalidates del bucle sin que se observe ningun pause entre ellos.
Por favor, espero que me puedas ayudar.
Un saludo y gracias,
Iván. |