-1

翻訳アニメーションを使用してビューをアニメーション化しています。setFillAfter(true) を使用しましたが、正常にアニメーション化されます。

私のコードは.

final ImageView image= (ImageView) findViewById(R.id.image2);
        image.setBackgroundResource(R.drawable.lamb);
        final Animation animation = AnimationUtils.loadAnimation(this, R.anim.translate);
        animation.setFillAfter(true);
        image.startAnimation(animation);
        animation.setAnimationListener(new AnimationListener() 
        {
            public void onAnimationStart(Animation animation) {     }
            public void onAnimationRepeat(Animation animation) {    }
            public void onAnimationEnd(Animation animation) 
            {
                Handler ss = new Handler();
                ss.postDelayed(new Runnable() 
                {
                    public void run() 
                    {
                        image.setVisibility(View.INVISIBLE);
                    }
                } ,4000);
            }
        });

画像ビューを 4 秒後に非表示にするために Handler を使用していますが、非表示にはなりません。しばらくしてから画像を非表示にするにはどうすればよいですか?

アニメーションが終了した後、最後の位置に画像を表示したいので、 setFillAfter(true); を使用します。4 秒後、画像ビューを非表示にします。

画像を非表示にするにはどうすればよいですか?

4

2 に答える 2

0

AnimationListener を設定する必要があります。アニメーションが終了したら、ビューを非表示にします。

moveForward.setAnimationListener(new AnimationListener(){

        @Override
        public void onAnimationEnd(Animation animation) {
            view.setVisibility(View.INVISIBLE);
        }

        @Override
        public void onAnimationRepeat(Animation animation) {
        }

        @Override
        public void onAnimationStart(Animation animation) {
        }

});
于 2012-05-04T13:13:54.037 に答える