我想用特定的目标视图(addTarget)设置退出过渡,只有在用户单击某个项目后才知道该视图,因此我仅在开始新活动之前实例化它。
但是,如果没有addTarget
调用,则根本不会应用退出转换。当我导航并再次通过过渡启动活动时,它运行良好。
private fun onItemClick(id: Long) {
window.exitTransition = Slide(Gravity.LEFT)
val activityOptions = ActivityOptionsCompat.makeSceneTransitionAnimation(this, ..).toBundle()
val intent = Intent(this, SettingsActivity::class.java)
ActivityCompat.startActivity(this, intent, activityOptions)
}
我也可以第一次使过渡工作吗?
答案 0 :(得分:0)
我认为这是正确的行为,但是如果没有代码示例,很难知道。
更改过渡的推荐方法是
// inside your activity (if you did not enable transitions in your theme)
with(window) {
requestFeature(Window.FEATURE_CONTENT_TRANSITIONS)
// set an exit transition
exitTransition = Explode()
}
如此处所述:https://developer.android.com/training/transitions/start-activity
如果专门在AndroidStudio模拟器中遇到此问题,则可能要更新AndroidStudio。我在一个较旧的版本中遇到问题,在刷新应用程序的第一时间按钮的行为总是不同的。
答案 1 :(得分:0)
必须在调用ActivityOptions.makeSceneTransitionAnimation
之前设置退出转换。
我通过查看以下类来弄清楚了: