[英]Android activity back transition brakes when going back 2 screens
我做了一個簡單的示例來證明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>
每當我 go: A -> B -> C -> B (back button) -> A (back button)
最后 animation (A -> C)
沒有播放。
只做A -> B -> A (back button)
時效果很好
以下是我開始活動的方式:
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 錯誤還是我做錯了什么?
它不起作用,因為ActivityB
是由ActivityC
“啟動”的,而它確實適用於過渡到ActivityB
,因為ActivityC
是由它啟動的。
看來您必須使用反向的ActivityOptions
手動覆蓋onBackPressed()
並從ActivityB
啟動ActivityA
。 這樣做的唯一方法是在finish()
overridePendingTransition()
) 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.