Modifier.scrollable 不滚动内容

Cha*_*har 8 android-jetpack-compose

我正在尝试设计一个内容可以滚动的布局。但这不起作用。我在这里做错了什么吗?

@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)
        }
    }
Run Code Online (Sandbox Code Playgroud)

And*_*Dev 11

scrollable用。。。来代替.verticalScroll(rememberScrollState())。您的代码正在更新offset,但该值实际上并未在任何地方用于抵消内容。scrollable如果您需要对滚动进行精细控制,则非常有用。但在你的情况下,你似乎不需要它,verticalScroll 会完成这项工作。