gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 23:43:13 26 4
gpt4 key购买 nike

我做了一个简单的例子来证明ActivityOptions.makeSceneTransitionAnimation(activity)有问题.
我有 3 个 Activity :A、B 和 C。
流程很简单:A -> B -> C
所有 Activity 都具有相同的风格:

<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>
每当我去: A -> B -> C -> B (back button) -> A (back button)最后一个动画 (A -> C)没有播放。
只做 A -> B -> A (back button) 时效果很好
以下是我开始 Activity 的方式:
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())
}
演示问题的应用程序: https://github.com/jkwiecien/AndroidCaseStudies/tree/transitions
使用分支 transitions这是Android错误还是我做错了什么?

最佳答案

它不起作用,因为 ActivityBActivityC“开始” , 虽然它确实适用于过渡到 ActivityB , 因为 ActivityC是由它开始的。
看来您必须覆盖 onBackPressed()并开始ActivityA来自 ActivityB手动,使用反向 ActivityOptions .这样做的唯一方法是调用 overridePendingTransition()finish() 之后.

关于返回 2 个屏幕时,Android Activity 返回过渡刹车,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67802482/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com