Flutter 中如何在单个 ListView Widget 内实现双行同步滚动?
问题原因
你当前的写法中,Column 是作为 ListView 的单个子项存在的,Column 内部的所有内容会被同一个列表项包裹,自然不会拆分为独立行,也无法实现双行同步滚动的需求。
实现方案
直接将两行内容作为 ListView 的两个独立子项即可,无需额外嵌套 Column,参考代码如下:
ListView( children: [ // 第一行内容块 Container( height: 120, color: Colors.lightBlue[100], child: const Center(child: Text("第一行内容")), ), // 第二行内容块 Container( height: 120, color: Colors.amber[100], child: const Center(child: Text("第二行内容")), ), // 其他列表项直接追加即可 ] )
如果需要每行支持横向滚动,给对应行嵌套 SingleChildScrollView 并配置 scrollDirection: Axis.horizontal 即可,两行作为 ListView 的独立子项,会自动跟随整个列表纵向同步滚动。
如果是动态生成的行内容,替换为 ListView.builder 按需生成对应行组件即可。
内容的提问来源于stack exchange,提问作者Farhan Aslam
相关产品推荐
相关产品推荐

