java - 当 onBackPressed() 被覆盖时保留过渡动画

标签 java android android-transitions onbackpressed

我使用以下过渡动画从 ActivityA 转到 ActivityB:

    Intent intent = new Intent(this, activityB.class);
    ImageView myImage = view.findViewById(R.id.myImage);
    ActivityOptions activityOptions = ActivityOptions.makeSceneTransitionAnimation(this, myImage, "myImage");
    startActivity(intent,activityOptions.toBundle());

在 ActivityB 上时,当我按回时,过渡动画仍然有效。但是在 ActivityB 上我需要重写 onBackPressed:

    @Override
    public void finish() {
        super.finish();
        Log.d("myTag", "finish: ");
    }

    @Override
    public void onBackPressed() {
        finish();
    }

但是当我按回 ActivityB 时,不再应用过渡动画。

当 onBackPressed 被覆盖时,如何保持后按时的过渡动画效果?

最佳答案

您可以按照以下代码操作:

首先你像这样使用:

Intent intent = new Intent(ActivityFirst.this, ActivitySecond.class);
startActivity(intent);
overridePendingTransition(R.anim.right_in, R.anim.left_out);

现在您可以像这样使用 onBackPressed() 动画:

 @Override
    public void onBackPressed() {
        // TODO Auto-generated method stub
     overridePendingTransition(R.anim.left_in, R.anim.right_out);
            finish();
           }

关于java - 当 onBackPressed() 被覆盖时保留过渡动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53007357/

相关文章:

java - 存储库到服务的依赖关系未得到满足

java - org/eclipse/jdt/internal/compiler 包的用途是什么?

Android: fragment 之间的 onActivityResult() 未按预期工作

android - 具有嵌套共享元素的场景转换

Android波浪动画

java - Java 中的 SecureRandom 安全种子

java - 在java中使用堆栈检查匹配的括号

android - 如何更改点击项目的菜单项背景 Android

android - 为海豚安卓浏览器写一个插件

android - 具有半径的 CardView 上的共享元素转换