1

最近、アニメーション中に 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 は常にクリックされた場所の位置に設定されるようです。

4

1 に答える 1