我已经从一个列表 Activity 开始了一个细节 Activity ,并且使用 ActivityCompat.startActivity()
对几个共享元素进行了动画处理,显然当 onBackPressed()
的该 Activity 称为平滑过渡。
但在我的例子中,这会产生一个问题;详细信息 Activity 利用滑动手势逐一浏览列表项;当用户即将返回时,平滑过渡动画错误的图像和标题,最后该行的实际图像和标题被替换,这根本不会创建平滑过渡。
如果位置与原始点击位置不同,调用 onBackPressed()
时,我正在尝试为 Activity 使用替换的 fadeIn\fadeOut 动画,但调用 super.onBackPressed()
不会变魔术。
方法如下:
@Override
public void onBackPressed() {
if (originalPosition != positionInParentList) {
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
return;
}
super.onBackPressed();
}
最佳答案
替换语句顺序,将super.onBackPressed();
放在if语句之上。
关于java - 如何覆盖 Activity 中按下后退的共享元素平滑过渡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52726127/