0

相対レイアウトに ImageView があります。タイマーを使用して、ImageView を画面の上から下に移動しています。以下はタイマーのコードです

timer.scheduleAtFixedRate(new TimerTask() {

    @Override
    public void run() {
        runOnUiThread(new Runnable() {
            public void run() {

                ObjectAnimator anim= ObjectAnimator.ofFloat(submarine, "translationY", submarine.getTop(), submarine.getTop()+50);
                anim.setDuration(1000);
                submarine.setTop(submarine.getTop()+50);
                    submarine.setBottom(submarine.getBottom()+50);
                //submarine.startAnimation(sub_down);
                anim.start();
            }
        });


    }
}, 0, 3000);

ImageViewいわゆる潜水艦です。アニメーションは正常に動作しますがTexViews、同じRelativeLayout位置のいくつかの値を変更すると、ImageView元の位置にリセットされます。ViewAndroidのアニメーションも試してみましたが結果は同じでした。潜水艦のリセットを回避し、ImageView変更された位置を維持する方法はありますか?

4

2 に答える 2

0

これは、Android アニメーションの古典的な動作です。アニメーションの最後に何をするかを指定する必要があります。そうしないと、最初の状態に戻ります。

ここであなたを助けるかもしれない解決済みの質問: Android: 完了後にアニメーション位置がリセットされる

于 2013-06-04T15:18:56.810 に答える