java - 如何覆盖 Activity 中按下后退的共享元素平滑过渡?

标签 java android android-animation onbackpressed

我已经从一个列表 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/

相关文章:

java - 在 CMIS 中获取 PDF 文件的缩略图

java - 导入 libcore.io.DiskLruCache 失败

java - 将 html 字符串转换为 java 字符串,删除 html、css 等标签

java - mopub 集成时出错

java - Spring 3+。通过占位符中的前缀解析属性

java.lang.StringIndexOutOfBoundsException : length=10684; index=10684

android - 使用 .asBitmap() 加载图像时,淡入淡出动画不起作用

android - 如何在一定时间后在 Flutter 中切换 Widgets?

android-videoview - 视频 View 动画

java - 如何将 SceneAntialiasing 设置为在 FXML 文件中创建的子场景?