[Android]点击按钮进入下一个Activity时显示动画效果

动画效果写在xml里,

在按键的onClickListener里如果写成这样

 

 @Override

        public void onClick( View v )

        {

            Animation hang_fall = AnimationUtils.loadAnimation( Curriculum.this, R.anim.hang_fall );

            v.startAnimation( hang_fall );

            Intent i = new Intent( ThisActivity.this, NextActivity.class );

            ThisActivity.this.startActivity( i );

        }

那么Intent和animation是同时执行的,看不到动画效果,

 

应该这样写——加入一个AnimationListener

 

final ImageView ib = (ImageView)this.findViewById( R.id.photo );

    ib.setOnClickListener( new OnClickListener( ) {



        @Override

        public void onClick( View v ) {

    Animation hang_fall = AnimationUtils.loadAnimation(Curriculum.this, R.anim.hang_fall );

    hang_fall.setAnimationListener(new Animation.AnimationListener()

        {

            public void onAnimationEnd(Animation animation)

            {

                Intent i = new Intent( ThisActivity.this, NextActivity.class );

                ThisActivity.this.startActivity( i );

            }



            public void onAnimationRepeat(Animation animation)

            {

                // Do nothing!

            }



            public void  onAnimationStart(Animation animation)

            {

                // Do nothing!

            }

        });

    v.startAnimation( hang_fall );

} );

 

你可能感兴趣的:(Activity)