Android 如何在不使用overridePendingTransition()的情况下将淡出动画与完成活动相结合?

Android 如何在不使用overridePendingTransition()的情况下将淡出动画与完成活动相结合?,android,Android,我在布局对象上使用startAnimation()来淡入活动的外观(覆盖屏幕的一部分)。这在创建活动时非常有效,但是当活动完成时,动画没有时间在活动取消之前完成 有没有一种方法可以启动一个动画,然后在动画完成后得到一个回调,这样我就可以在那个时候取消该活动 代码如下: .... private RelativeLayout mLayout; private Animation mAnimationFadeIn; private Animation

我在布局对象上使用startAnimation()来淡入活动的外观(覆盖屏幕的一部分)。这在创建活动时非常有效,但是当活动完成时,动画没有时间在活动取消之前完成

有没有一种方法可以启动一个动画,然后在动画完成后得到一个回调,这样我就可以在那个时候取消该活动

代码如下:

....
private RelativeLayout      mLayout;
private Animation           mAnimationFadeIn;
private Animation           mAnimationFadeOut;
....

 protected void onCreate(Bundle savedInstanceState)
{
     mAnimationFadeIn = AnimationUtils.loadAnimation(this, R.anim.fade_in);
     mAnimationFadeOut = AnimationUtils.loadAnimation(this, R.anim.fade_out);
    ....




    mLayout = (RelativeLayout) stub.findViewById(R.id.overlayBarLayout);
    mLayout.startAnimation(mAnimationFadeIn);
    ....
取消活动时:

    if (mLayout != null)
        mLayout.startAnimation(mAnimationFadeOut);
    finish();

如何在活动终止之前执行动画?

动画
可以设置一个代理,
动画。动画列表器
,它又有三种方法

  • onAnimationStart
  • onAnimationRepeat
  • onAnimationEnd
  • 当调用onAnimationEnd时,可以调用
    finish()
    。要设置它,您可以使用