mertceyhan
05/11/2022, 3:25 PMSurface(
modifier = Modifier
.fillMaxSize()
.padding(horizontal = 16.dp),
color = MaterialTheme.colors.background
) {
val scrollState = rememberScrollState()
val coroutineScope = rememberCoroutineScope()
var secondTextY = remember { 0f }
Column(
modifier = Modifier
.fillMaxSize()
.verticalScroll(scrollState)
) {
Spacer(modifier = Modifier.height(32.dp))
Text(text = "TEXT 1")
Spacer(modifier = Modifier.height(32.dp))
Text(
modifier = Modifier.onGloballyPositioned { layoutCoordinates ->
secondTextY =
scrollState.value + layoutCoordinates.positionInRoot().y
},
text = "TEXT 2 "
)
Spacer(modifier = Modifier.height(32.dp))
Button(onClick = {
coroutineScope.launch {
scrollState.animateScrollTo(secondTextY.toInt())
}
}) {
Text(text = "Scroll to the second text")
}
}
}