自定义动画不适用于 SingleInstance Activity

ces*_*cas 1 animation android single-instance

我试图更改活动转换的默认动画,但我遇到了一个问题。

我可以更改正常活动的动画,但是当我将launchMode 更改为singleInstance 时,第一次打开活动时,动画带有默认值。然后,每次我再次调用它时,它都会带有正确的自定义动画。

我尝试使用 window.attributes.windowAnimations,仅使用样式/主题和 overridePendingTransition(),结果始终相同。

我看到一些人有同样的问题,但我找不到有效的解决方案。

取消 SingleInstance 上的所有动画

Android 动画到 singleTask

Android 的 overridePendingTransition 和 singleInstance

mat*_*oni 5

我有同样的问题。阅读有关Task 和 back stack的文档,一切都变得清晰了。

这是因为launchMode singleInstance在 new task 中创建了单例活动

请注意, task = 一组具有相同组 ID 的活动,即affinity。默认情况下,应用程序活动具有相同的亲和力,即应用程序由单个任务组成。

通常,过渡动画应用于单个任务中的活动。由于新任务初始化,第一次转换似乎不起作用。当新任务未完全初始化时,此任务的活动未创建,因此您将看到空白屏幕的过渡。