最近、アニメーション中に Image がクリックされたときに ImageView の x と y の位置を動的に設定する方法をよく調べていて、不足しています。私の ImageView は XML で始まり、ImageView が画面の下部に向かって落ちるアニメーションがあります。
ユーザーがクリックすると、ImageView がレイアウトの最上部 (画面の上部) に移動し、x の位置をランダムに選択できるようになります。基本的には、同じ位置から開始し続け、画面の下部に向かって落ちることができます. ユーザーが ImageView をクリックすると、アニメーションが再び発生するように上部に戻ります。
私はそのようなアニメーションを持っています:
ViewPropertyAnimator viewPropertyAnimator = myImageView.animate()
.translationY(bottomOfScreen)
.setInterpolator(new AccelerateInterpolator())
.setInterpolator(new BounceInterpolator())
.setDuration(1000);
myImageView の onClickListener 内に、次のような x と y のセットがあります。
myImageView.setOnClickListener(new View.OnClickListener() {
Random randomX = new Random();
myImageView.setX(randomX.nextInt(500 - 0 + 1) + 0);
myImageView.setY(-300);
}
x は、必要な x の任意の場所に ImageView を配置するように見えます。ただし、ImageView をクリックするとアニメーションが発生する (ImageView をレイアウトの下部にドロップする) ため、y は常にクリックされた場所の位置に設定されるようです。