【问题标题】:Keeping a transition animation when onBackPressed() has been overwritten当 onBackPressed() 被覆盖时保持过渡动画
【发布时间】:2018-10-26 11:05:04
【问题描述】:

我正在使用以下过渡动画从 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 被覆盖后,如何保持后按时的过渡动画效果?

【问题讨论】:

    标签: java android android-transitions onbackpressed


    【解决方案1】:

    您可以按照以下代码:

    首先你是这样使用的:

    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();
               }
    

    【讨论】:

    • 是的,但我想为我的动画使用特定的函数makescenetransitionanimation,我怀疑我可以将它转换为动画文件
    猜你喜欢
    • 1970-01-01
    • 2021-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-13
    相关资源
    最近更新 更多