我有一个小问题。
我有一个带有列表的片段A和一个带有列表的活动B. 现在A和B有一个共同的图像,所以我设置了一个共享元素转换,它在从A到B的路上工作。
但如果我按下后退按钮,我不想反向转换。
所以我不打电话给B supportFinishAfterTransition
而不是finish
。但现在有一些丑陋的动画:
B正常消失。图像保持在前景中,直到A在背景中可见,然后消失。
我该怎样防止这种情况?我想要正常的行为,比如我打电话给finish
或onBackPressed
。
迎接
答案 0 :(得分:3)
我找到了解决方案。
我玩了一下,如果你覆盖onBackPressed()
并致电finish()
而不是super.onBackPressed()
,它有效。
答案 1 :(得分:2)
偶然发现了这个问题,并且有一个更清洁的解决方案。
只需重写finishAfterTransition()。也许您的基类中应该有一个布尔值,所以它看起来像这样:
final override fun finishAfterTransition() {
if (myShouldAllowReverseTransitionsBoolean) {
super.finishAfterTransition()
} else {
super.finish()
}
}