Androidの中で別のビューでテキストをアニメーション化する方法は?
-
12-09-2019 - |
質問
私は別のビューの上にいくつかのテキスト「ズームアウト」をアニメーション化しようとしています。私のコードは次のようになります。
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);
}
}
animTextとはonDraw()
のBoardView
ルーチンで呼び出されています。私が見ている、しかし、のボードであるはsetAnimation()
への上記の呼び出しにもかかわらず、テキストではなく、ズームアウトます。
私は、メインアンドロイドドキュメントで他1
解決
まあ、私は私が上記で非常に微妙なバグを見つけるのは難しい時間を過ごしただけではないんだうれしいです。バグがあります:
startAnimation(anim);
あなたにそれを展開するまではあまり明らかにされていません。
this.startAnimation(anim);
これで外側のビュー(すなわち「これは」)、テキストだけでなく、アニメーションされている理由、それは明らかです指します。
所属していません StackOverflow