Flutter中使用ListView.builder逐项滚动列表项

9

我有一个水平的 ListView,我希望强制用户每次只滚动一个项,我该如何实现?

return Container(
    height: 120.0,
    padding: EdgeInsetsDirectional.only(start: 8.0),
    child: ListView.builder(
           itemBuilder: _buildListItem(),
           scrollDirection: Axis.horizontal,
           itemCount: arrayItems.length,
           ),
);

我需要将项目显示为列表,而不是单个页面(PageView),我只需要修改列表的滚动。 - Sami Kanafani
1个回答

19

使用

physics: PageScrollPhysics(), // in ListView
我无法获得你的代码。试试这个,然后根据需要进行更改。

我无法获得您的代码。尝试此代码,并进行相应更改。

List<String> yourArray = ["A", "B", "C", "D"];

@override
Widget build(BuildContext context) {
  double width = MediaQuery.of(context).size.width; 
  return Container(
    height: 100,
    child: ListView.builder(
      physics: PageScrollPhysics(), // this is what you are looking for
      scrollDirection: Axis.horizontal,
      itemCount: yourArray.length,
      itemBuilder: (context, index) {
        return Container(
          color: Colors.grey,
          width: width,
          child: Center(child: Text("Index = ${index}")),
        );
      },
    ),
  );
}

很棒的答案:physics: PageScrollPhysics(), // 在ListView中 谢谢@CopsOnRoad - mohmdezeldeen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接