← Back to Wear Material
Confirmation
Component
in
Wear Material
. Since 1.0.0Overview
Examples
Community Notes
@Composable
fun ConfirmationWithAnimation() {
val animation = AnimatedImageVector.animatedVectorResource(R.drawable.open_on_phone_animation)
Confirmation(
onTimeout = {
/* Do something e.g. navController.popBackStack() */
},
icon = {
// Initially, animation is static and shown at the start position (atEnd = false).
// Then, we use the EffectAPI to trigger a state change to atEnd = true,
// which plays the animation from start to end.
var atEnd by remember { mutableStateOf(false) }
DisposableEffect(Unit) {
atEnd = true
onDispose {}
}
Image(
painter = rememberAnimatedVectorPainter(animation, atEnd),
contentDescription = "Open on phone",
modifier = Modifier.size(48.dp)
)
},
durationMillis = animation.totalDuration * 2L,
) {
Text(
text = "Body text displayed here " +
"(swipe right to dismiss)",
textAlign = TextAlign.Center
)
}
}
@Composable
fun ConfirmationWithAnimation() {
val animation = AnimatedImageVector.animatedVectorResource(R.drawable.open_on_phone_animation)
Confirmation(
onTimeout = {
/* Do something e.g. navController.popBackStack() */
},
icon = {
// Initially, animation is static and shown at the start position (atEnd = false).
// Then, we use the EffectAPI to trigger a state change to atEnd = true,
// which plays the animation from start to end.
var atEnd by remember { mutableStateOf(false) }
DisposableEffect(Unit) {
atEnd = true
onDispose {}
}
Image(
painter = rememberAnimatedVectorPainter(animation, atEnd),
contentDescription = "Open on phone",
modifier = Modifier.size(48.dp)
)
},
durationMillis = animation.totalDuration * 2L,
) {
Text(
text = "Body text displayed here " +
"(swipe right to dismiss)",
textAlign = TextAlign.Center
)
}
}
Previous Component← CompactChip
Next ComponentConfirmationDialog →