Lon*_*ngi 17 android android-5.0-lollipop shared-element-transition
我把一个非常简单的应用程序放在一起,在使用Dialog主题(github上的源代码)启动活动时使用共享元素转换.
我得到了以下结果:

如您所见,转换/动画有2个问题:
我该如何解决这些问题?任何帮助,将不胜感激.
编辑:在Quanturium的回答之后,我做了以下事情来使它工作:
使用以下主题而不是Dialog主题:
<style name="AppTheme.Transparent" parent="AppTheme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:backgroundDimEnabled">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)
使用CardView作为Dialog外观和圆角和阴影的背景.
调用finishAfterTransition(); 当用户点击CardView外部时.
现在它看起来像这个(代码),CardView需要精炼以更好地匹配Dialog,但它至少工作:

Qua*_*ium 11
活动转换就像这样.当您开始第二个活动时,它会显示在您的第一个活动的顶部,并带有透明背景.共享元素的位置与它们在第一个活动上的位置相同,然后动画到第二个活动上指定的正确位置.
在您的情况下,您使用的是android:theme ="@ style/Theme.AppCompat.Dialog",这意味着第二个活动的绘图区域的大小小于第一个活动的大小.这解释了在外部点击时剪辑和无过渡.
你想要做的是摆脱那个主题,并用深色背景/阴影实现你自己的布局,以便能够执行你的平滑过渡.
| 归档时间: |
|
| 查看次数: |
5021 次 |
| 最近记录: |