Pregunta

Estoy tratando de animar un texto 'zoom out' en la parte superior de otro punto de vista. Mi código es algo como:

class BoardView extends View {

private TextView animText;

...

private void animText(String text, int color, int xBlocks, int yBlocks) {
    animText.setText(text);
    animText.setTextColor(color);
    animText.setVisibility(View.VISIBLE);
    final int x = BOARD_X_OFFSET + xBlocks * xBlockSize;
    final int y = BOARD_Y_OFFSET + yBlocks * yBlockSize;
    final float SCALE_FROM = (float) 0.25;
    final float SCALE_TO = (float) 5.0;
    ScaleAnimation anim = new ScaleAnimation(SCALE_FROM, SCALE_TO, SCALE_FROM, SCALE_TO, x, y);
    anim.setDuration(500);
    animText.setAnimation(anim);
    this.setAnimation(null);
    startAnimation(anim);
}

}

con animText ser invocada en la rutina de la onDraw() BoardView. Lo que estoy viendo, sin embargo, es el general a reducir el zoom, no el texto, a pesar de las llamadas anteriores a setAnimation().

He mirado en los principales documentos androide y al otro ejemplo . Incluso los punteros en la dirección correcta sería de gran ayuda.

¿Fue útil?

Solución

Bueno, me alegro de que no soy el único que tenía un tiempo difícil encontrar el error muy sutil en la anterior. El error es:

startAnimation(anim);

que no es demasiado evidente hasta que ampliarlo en:

this.startAnimation(anim);

momento en el que está claro por qué la vista exterior (es decir. 'Esto') está animando así como el texto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top