Paul Woitaschek
11/30/2023, 10:07 AMslide(
orientation = when (child.instance) {
is FlowBaseViewModel.Offer, is FlowBaseViewModel.ProPage -> Orientation.Vertical
else -> Orientation.Horizontal
},
)
On vertical mode I’d like it to go up on enter and down on leaving for the vertical variantArkadii Ivanov
11/30/2023, 10:30 AMwhen (child.instance) {
is FlowBaseViewModel.Offer, is FlowBaseViewModel.ProPage -> slide(orientation = Orientation.Vertical)
else -> slide(orientation = Orientation.Horizontal)
}
Paul Woitaschek
11/30/2023, 10:31 AMArkadii Ivanov
11/30/2023, 10:31 AMArkadii Ivanov
11/30/2023, 10:32 AMArkadii Ivanov
11/30/2023, 10:36 AMfun StackAnimator.invert(): StackAnimator =
StackAnimator { direction, isInitial, onFinished, content ->
this(
direction = direction.invert(),
isInitial = isInitial,
onFinished = onFinished,
content = content,
)
}
private fun Direction.invert(): Direction =
when (this) {
Direction.ENTER_FRONT -> Direction.ENTER_BACK
Direction.EXIT_FRONT -> Direction.EXIT_BACK
Direction.ENTER_BACK -> Direction.ENTER_FRONT
Direction.EXIT_BACK -> Direction.EXIT_FRONT
}
Arkadii Ivanov
11/30/2023, 10:36 AMslide(orientation = Orientation.Vertical).invert()
.Paul Woitaschek
11/30/2023, 10:48 AMArkadii Ivanov
11/30/2023, 11:08 AM