ListView.builder在flutter中逐项滚动

Sam*_*ani 4 dart flutter

我有一个水平ListView,我想强迫用户一次滚动一个项目,我该如何实现?

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

Cop*_*oad 5

使用

physics: PageScrollPhysics(), // in ListView
Run Code Online (Sandbox Code Playgroud)

我找不到您的代码。试试这个,并进行相应的更改。

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