返回2个屏幕时,Android活动返回过渡刹车

返回2个屏幕时,Android活动返回过渡刹车,android,android-animation,android-support-library,android-transitions,Android,Android Animation,Android Support Library,Android Transitions,我制作了一个简单的示例来证明ActivityOptions.makeSceneTransitionAnimation(activity)有问题 我有3项活动:A、B和C。 流程很简单:A->B->C 所有活动都有相同的风格: <style name="TransitionsTheme" parent="Theme.MaterialComponents.Light.NoActionBar"> <item name="and

我制作了一个简单的示例来证明
ActivityOptions.makeSceneTransitionAnimation(activity)
有问题

我有3项活动:A、B和C。 流程很简单:A->B->C

所有活动都有相同的风格:

<style name="TransitionsTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
    <item name="android:windowEnterTransition">@transition/slide_in_from_bottom</item>
    <item name="android:windowExitTransition">@transition/slide_out_to_bottom</item>
</style>
演示该问题的应用程序: 使用分支
transitions


这是安卓的错误还是我做错了什么?

它不起作用,因为
ActivityB
是由
ActivityC
启动的,而它在过渡到
ActivityB
时确实起作用,因为
ActivityC
是由它启动的


似乎您必须覆盖
onBackPressed()
并使用反向
ActivityOptions
ActivityB
手动启动
ActivityA
。唯一的方法是在
finish()

之后调用
overridePendingTransition()
,您是否尝试通过调用
overridePendingTransition()
方法来覆盖活动的
onBackPressed
?就像这个问题的答案一样:
A->B->C->B(后退按钮)->A(后退按钮)
-这是什么意思?从
C
B
->
后退按钮
A
->
后退按钮
到(预期的)
C
???或者从
C
->
后退按钮
B
->
后退按钮
A
???在任何情况下,都可能对您有所帮助。在emulator(api 24和api 27)上运行良好,它是否特定于某些Android api?是的,在我的情况下,它在api 30上不起作用,但在23和24上运行良好。如果您使用的不是默认模式,则启动模式有时会导致转换混乱,这可能是它的来源
fun start(activity: Activity) {
            val intent = Intent(activity, TransitionActivityA::class.java) //or B or C
            val transitionsOptions = ActivityOptions.makeSceneTransitionAnimation(activity)
            activity.startActivity(intent, transitionsOptions.toBundle())
        }