实现“android 取消activity关闭时的下滑动画”

整体流程

为了实现在取消关闭Activity时的下滑动画效果,我们需要按照以下步骤进行操作。我们可以使用一个简单的表格来展示这些步骤:

步骤 操作
1 创建一个自定义的Activity,并设置其关闭时的退出动画效果
2 在Activity中重写onBackPressed()方法,取消默认的Activity关闭效果
3 在onBackPressed()方法中手动调用finish(),并在finish()方法之前设置Activity关闭时的下滑动画效果

代码实现

步骤1:创建自定义Activity

首先,我们创建一个自定义的Activity,并在其onCreate方法中设置Activity关闭时的退出动画效果。代码如下:

// 引用:设置Activity关闭时的退出动画效果
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_custom);
    
    // 设置Activity关闭时的退出动画效果
    overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right);
}

步骤2:重写onBackPressed方法

其次,我们在自定义Activity中重写onBackPressed()方法,取消默认的Activity关闭效果。代码如下:

// 引用:取消默认的Activity关闭效果
@Override
public void onBackPressed() {
    super.onBackPressed();
}

步骤3:手动调用finish方法并设置动画效果

最后,我们在onBackPressed()方法中手动调用finish(),并在finish()方法之前设置Activity关闭时的下滑动画效果。代码如下:

// 引用:手动调用finish方法并设置动画效果
@Override
public void onBackPressed() {
    // 设置Activity关闭时的下滑动画效果
    overridePendingTransition(R.anim.slide_in_down, R.anim.slide_out_down);
    
    finish();
}

序列图

下面是一个简单的序列图,展示了用户点击返回键时Activity关闭的流程:

sequenceDiagram
    participant User
    participant Activity
    User->>Activity: 点击返回键
    Activity->>Activity: 调用onBackPressed()
    Activity->>Activity: 设置关闭动画
    Activity->>Activity: 手动调用finish()

通过以上步骤和代码,你可以成功实现在Android中取消Activity关闭时的下滑动画效果。希望对你有帮助!