andbapps
06/22/2020, 9:56 PM@Composable
fun TestAnimation() {
val moved = state { false }
val offset = DpPropKey()
val transition = transitionDefinition<Boolean> {
state(true) {
this[offset] = 100.dp
}
state(false) {
this[offset] = 0.dp
}
transition {
offset using tween {
easing = LinearEasing
duration = 1000
}
}
}
Transition(definition = transition, toState = moved.value) { transitionState ->
println("transitionState[offset] = ${transitionState[offset]}")
Box(
modifier = Modifier
.clickable(onClick = { moved.value = !moved.value })
.padding(start = transitionState[offset])
.size(56.dp),
shape = CircleShape,
backgroundColor = Color.Blue
)
}
}
Zach Klippenstein (he/him) [MOD]
06/22/2020, 10:02 PMoffset
key every time TestAnimation
is invoked. Either remember
it or declare as a top-level val.andbapps
06/22/2020, 11:23 PMAndrey Kulikov
06/22/2020, 11:31 PMandbapps
06/23/2020, 12:13 AM