You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jetpack Compose中Column添加vertical scrollable修饰符后无法滚动

解决Jetpack Compose中Column无法滚动的问题

你遇到的问题根源在于用错了修饰符:scrollable仅负责处理滚动手势的输入事件,不会自动让Column内容超出范围时产生滚动效果。要实现类似ScrollView的滚动功能,应该使用verticalScroll修饰符。

修改后的代码如下:

@Composable
fun MainScreen() {
    val scrollState = rememberScrollState()
    Column(
        modifier = Modifier
            .fillMaxSize()
            .verticalScroll(scrollState)
    ) {
        Text(
            text = "This is my first Compose App",
            fontSize = 24.sp,
            fontWeight = FontWeight.Light,
            lineHeight = 40.sp,
            color = Color.Black,
            modifier = Modifier.padding(top = 32.dp, start = 24.dp)
        )
        Row(
            modifier = Modifier
                .fillMaxWidth()
                .background(Color(0xFF6A0DAD))
                .height(2200.dp)
        ) {}
    }
}

关键区别说明

  • verticalScroll:专为垂直滚动场景设计,自动处理内容超出父容器时的滚动逻辑,内部集成了滚动状态管理和手势响应,直接使用就能实现类似ScrollView的效果。
  • scrollable:属于自定义滚动行为的底层API,仅提供滚动手势的输入回调,需要手动处理滚动偏移的应用,适合实现特殊滚动交互(如自定义滚动动画),不满足常规布局滚动需求。

内容的提问来源于stack exchange,提问作者meleduck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 02:05:45