setReturnTransition不生效问题

参考文章:转场动画

getWindow().setExitTransition(out),Activity A的退出变换(exit transition)决定了在A调用B的时候,A中的View是如何播放动画的。
getWindow().setEnterTransition,Activity B的进入变换(enter transition)决定了在A调用B的时候,B中的View是如何播放动画的。
getWindow().setReturnTransition(returnT),Activity B的返回变换(return transition)决定了在B返回A的时候,B中的View是如何播放动画的。
getWindow().setReenterTransition(reIn),Activity A的再次进入变换(reenter transition)决定了在B返回A的时候,A中的View是如何播放动画的。

要想使得getWindow().setReturnTransition(returnT)生效,需要调用activity.finishAfterTransition();方法执行退出动画。
示例代码:

private boolean tryTransition = true;
@Override
public void finish() {
    if (tryTransition && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        tryTransition = false;
        ActivityCompat.finishAfterTransition(YourActivity.this);

    } else {
        super.finish();

    }

}

···

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容