其他分享
首页 > 其他分享> > 如何在Android中的另一个视图上设置文本动画?

如何在Android中的另一个视图上设置文本动画?

作者:互联网

我正在尝试为另一个视图上方的“缩小”文本设置动画.我的代码如下所示:

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);
}

}

并在BoardView的onDraw()例程中调用animText.但是,尽管上面对setAnimation()进行了调用,但我看到的是面板正在缩小,而不是文本.

我查看了主要的android文档以及其他的example.即使指向正确方向的指针也将有所帮助.

解决方法:

好吧,我很高兴我不是唯一一个很难找到上述细微错误的人.该错误是:

startAnimation(anim);

除非将其扩展为:

this.startAnimation(anim);

在这一点上,很清楚为什么外部视图(即“ this”)和文本都具有动画效果.

标签:animation,android-animation,android
来源: https://codeday.me/bug/20191107/2004031.html