【发布时间】:2021-06-27 01:21:26
【问题描述】:
我的意思是在两个轴上,水平和垂直。
我尝试嵌套两个ListView.builder,但它们没有按我的意愿滚动在一起。
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
drawer: Drawer(),
appBar: AppBar(),
body: Container(
child: ListView.builder(
scrollDirection: Axis.horizontal,
itemBuilder: (context, x) {
return Container(
height: 50,
width: 50,
child: ListView.builder(
itemBuilder: (context, y) {
return Container(
height: 100, child: Text("${y.toString()}"));
},
),
);
}),
));
}
}
我想到的可能解决方案:
- 让
ListView.builders 一起滚动。但我认为该解决方案在性能方面可能效率不高,因为颤振仍将每一列视为单独的滚动条 - 创建一个有限的
ListView.builder并在必要时重建它以使幻觉成为无限。但这可能会给项目增加不必要的复杂性。 - 在垂直轴上添加
NeverScrollableScrollPhysics并使用另一个Widget 执行滚动。我没有尝试过。如果列表是有限的,那么该方法对我有用。
是否有任何适用于该应用程序的小部件我可能会丢失? 还有其他更好的方法来创建类似的东西吗?
【问题讨论】:
标签: flutter infinite-scroll flutter-listview