共享元素过渡动画到/从全屏活动

时间:2017-10-29 20:32:47

标签: android shared-element-transition

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

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

然后当从活动B回到活动A时,过渡结束时会出现恼人的跳跃&#34;当状态栏再次显示时。

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

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

1 个答案:

答案 0 :(得分:0)

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

希望这会有所帮助〜