我试图有一个布局,其中的内容应该是可滚动的。但不起作用。我在这里做错什么了吗?
@Composable
fun Screen() {
Box(
modifier = Modifier
.padding(16.dp)
.fillMaxSize()
) {
val offset = remember { mutableStateOf(0f) }
Column( // This should be scrollable
modifier = Modifier
.fillMaxSize()
.scrollable(
orientation = Orientation.Vertical,
state = rememberScrollableState { delta ->
offset.value = offset.value + delta
delta
}
)
) {
Text(...)
Text(...)
Spacer(modifier = Modifier.padding(8.dp))
LazyColumn(...)
Spacer(modifier = Modifier.padding(8.dp))
DropdwonMenu(...)
Text(...)
Spacer(modifier = Modifier.padding(8.dp))
Text(...)
Spacer(modifier = Modifier.padding(8.dp))
Column(...)
Spacer(modifier = Modifier.padding(8.dp))
Button(...)
}
Column(
Modifier
.fillMaxWidth()
.align(Alignment.BottomCenter)
) {
Error(snackbarHostState)
}
}
LaunchedEffect(state.error) {
if (state.error.isNotEmpty()) {
snackbarHostState.showSnackbar(state.error)
}
}发布于 2022-01-26 04:56:18
将scrollable替换为.verticalScroll(rememberScrollState())。您的代码正在更新offset,但实际上没有在任何地方使用此值来抵消内容。如果需要对滚动进行精细控制,scrollable是有用的。但在您的情况下,您似乎不需要它,verticalScroll将完成这项工作。
https://stackoverflow.com/questions/70858702
复制相似问题