所以我有两个场景被放大到场景根目录中,这是一个框架布局。
<!--Scene Root-->
<FrameLayout
android:id="@+id/sceneRoot"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageLogo" />
两个场景都有在两个场景之间切换的按钮。我将它们设置为这样的代码。
sceneWelcome.setEnterAction {
Log.d(TAG, "onEnter Welcome")
buttonGetStarted.setOnClickListener(this)
}
sceneInviteCode.setEnterAction {
Log.d(TAG, "onEnter Invite")
buttonConfirmInvite.setOnClickListener(this)
}
TransitionManager.go(sceneWelcome, Fade())
这是在活动中的onCreate()上完成的。像这样通过活动实现onClick侦听器。
override fun onClick(view: View?) {
when (view?.id) {
buttonGetStarted.id -> {
Log.d(TAG, "getStarted clicked")
TransitionManager.go(sceneInviteCode, Slide())
}
buttonConfirmInvite.id -> {
Log.d(TAG, "confirmInvite clicked")
TransitionManager.go(sceneWelcome, Fade())
}
}
}
转换第一次起作用,但是当第二次单击第一个按钮时,我确实收到了“ getStarted clicked”的日志消息,但是再次单击按钮时,转换不会切换回第二个场景。 / p>
有什么想法吗?