共享元素转换在第一个活动和第二个透明活动之间留下奇怪的白色背景

时间:2016-09-16 11:06:31

标签: android transparent shared-element-transition

最近我遇到了一个奇怪的问题。 我有两个活动。第一个包含带缩略图的网格。一种画廊。第二个包含一个带有片段的视图寻呼机,其行为类似于图像查看器,您可以在图像之间滑动。 我使用共享元素转换来启动第二个活动。就像谷歌照片应用程序。在第二个活动中,我可以向上或向下滑动以通过背景的淡出过渡来消除活动。我让我的第二项活动完全透明:

<item name="android:windowBackground">@color/palette_transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>

但问题是当我将图像滑动到顶部/底部而第二个活动的背景渐渐消失时,我可以看到白色背景而不是第一个活动。如果我开始没有共享元素转换的第二个活动,一切都很好。

我做了一项研究,发现这个白色层可能覆盖了第一个活动。它不是第二个活动的一部分,正如我在Stetho视图层次结构中看到的那样。

可能我的解释不是很好,我的英语也不是很好,所以这里有几个视频也澄清了我的问题。

视频Without transition和视频With transition

1 个答案:

答案 0 :(得分:0)

这应该有帮助:

<item name="android:windowEnterTransition">@android:transition/no_transition</item>
<item name="android:windowExitTransition">@android:transition/no_transition</item>