【问题标题】:Shared element transition animation to/from a full screen activity共享元素过渡动画到/从全屏活动
【发布时间】:2017-10-29 20:32:47
【问题描述】:

我在 Activity A 中 RecyclerView 上的 ImageView 和 Activity B 中全屏 ImageView 之间创建了一个共享元素过渡动画。 我注意到,如果 Activity B 在其主题中标记为:

    <item name="android:windowFullscreen">true</item>

然后,当从 Activity B 回到 Activity A 时,当状态栏再次显示时,过渡以令人讨厌的“跳跃”结束。

知道如何解决这个问题吗?

附言 我没有在活动之间使用任何 overridePendingTransition,共享元素转换是默认的。

【问题讨论】:

    标签: android shared-element-transition


    【解决方案1】:

    活动 A:非全屏;
    活动 B:全屏;

    只需添加这个:

    在A中:

    setExitSharedElementCallback(new SharedElementCallback() {
                @Override
                @TargetApi(Build.VERSION_CODES.LOLLIPOP)
                public void onMapSharedElements(List<String> names, Map<String, View> sharedElements) {
                     getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
                }
            });
    

    在 B 中:

    @Override
    public void finishAfterTransition() {
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
        super.finishAfterTransition();
    }
    

    希望对你有帮助~

    【讨论】:

    • 尽管这不是标记的答案,但这个解决方案确实对我有用。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2016-11-30
    • 2016-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-25
    相关资源
    最近更新 更多