我整理了一个非常简单的应用程序,它在使用 Dialog 主题(github 上的源代码)启动活动时使用共享元素转换。
我得到以下结果:
如您所见,过渡/动画存在两个问题:
- 动画仅在对话框活动区域中可见,因此它会剪辑并且看起来很难看。
- 当我在活动外部点击返回时,没有过渡/动画。
我该如何解决这些问题?任何帮助,将不胜感激。
编辑:在 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>
使用 CardView 作为 Dialog 外观以及圆角和阴影的背景。
调用finishAfterTransition(); 当用户在 CardView 之外点击时。
现在看起来像这样(代码),CardView 需要改进以更好地匹配 Dialog,但它至少可以工作。: