タイトルの通り複数のImageViewにアニメーションを設定したいです。
下記のような画面上部から下部まで落下するようなアニメーションのコードを書いてみたのですが、上手くいきません。
想定としては3秒後に最初のImageViewが落下をはじめ、その1秒後に新たなImageViewが画面上部から落下を始めるというものでした。
なので4秒後には画面の真ん中と上部に一つずつImageViewが表示されるつもりだったのですが、実際には重なってしまっているのか、一つしか表示されていないのかは確認できないのですが、4秒後に真ん中まで進んだImageViewしか表示されていません。
TranslateAnimationを複数作らなければいけないのでしょうか?
どのような解決方法がありますか?
よろしくお願いします。
public void set(){ Timer timer = new Timer(true); final TranslateAnimation translateAnimation = new TranslateAnimation( android.view.animation.Animation.RELATIVE_TO_PARENT,0.0f, android.view.animation.Animation.RELATIVE_TO_PARENT,0.0f, android.view.animation.Animation.RELATIVE_TO_PARENT,0.0f, android.view.animation.Animation.RELATIVE_TO_PARENT,1.0f ); translateAnimation.setDuration(2000); translateAnimation.setRepeatCount(-1); timer.schedule(new TimerTask() { @Override public void run() { handler.post(new Runnable() { @Override public void run() { imageViews[imageViewCount].setAnimation(translateAnimation); } imageViewCount++; } } }); } }, 3000, 1000); } コード
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/09/13 01:21