返回活动之间的共享元素转换

Eug*_*sov 1 animation android android-animation android-transitions shared-element-transition

我使用原生 Android Transition API 来制作 Activity 之间的过渡动​​画。这是我用来启动活动的来源:

        Intent intent = new Intent(MainActivity.this, DetailActivity.class);
        Bundle bundle = ActivityOptionsCompat.makeSceneTransitionAnimation(MainActivity.this, imageView, imageView.getTransitionName()).toBundle();

        MainActivity.this.startActivity(intent, bundle);
Run Code Online (Sandbox Code Playgroud)

当我点击硬件后退按钮时,它会以预期的反向过渡动画返回到上一个活动,但是当我点击工具栏中的“向上”按钮时,它会以默认动画返回到上一个活动:

azi*_*ian 5

将以下代码添加到正在完成的活动中:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        // Respond to the action bar's Up/Home button
        case android.R.id.home:
            supportFinishAfterTransition();
            return true;
    }
    return super.onOptionsItemSelected(item);
}
Run Code Online (Sandbox Code Playgroud)

来源