Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何在两列中列出视图项,而不是在Flatter中列出一列?_Flutter_Dart_Flutter Layout - Fatal编程技术网

Flutter 如何在两列中列出视图项,而不是在Flatter中列出一列?

Flutter 如何在两列中列出视图项,而不是在Flatter中列出一列?,flutter,dart,flutter-layout,Flutter,Dart,Flutter Layout,我当前的实现是使用Future Builder小部件从数据库检索项目,然后在列表视图中显示它,我试图实现的是如何在两列而不是一列中显示项目? 以下是我在垂直单列中预览项目的代码: Widget build(BuildContext context) { return FutureBuilder<List<Product>>( future: fetchProducts(), builder: (context, snapshot) {

我当前的实现是使用Future Builder小部件从数据库检索项目,然后在列表视图中显示它,我试图实现的是如何在两列而不是一列中显示项目? 以下是我在垂直单列中预览项目的代码:

Widget build(BuildContext context) {
    return FutureBuilder<List<Product>>(
      future: fetchProducts(),
      builder: (context, snapshot) {
        if (!snapshot.hasData)
          return Center(child: CircularProgressIndicator());
        else {
          print (snapshot.data.length) ;
          return Container(
            child: Scrollbar(
              isAlwaysShown: true,
              controller: _scroll,
              child: ListView.builder(
                controller: _scroll,
                itemCount: snapshot.data.length,
                itemBuilder: (BuildContext context, int index) {
                  return WidgetProduct(snapshot.data[index]);
                },
              ),
            ),
          );
        }
      },
    );
  }
小部件构建(构建上下文){
回归未来建设者(
future:fetchProducts(),
生成器:(上下文,快照){
如果(!snapshot.hasData)
返回中心(子项:CircularProgressIndicator());
否则{
打印(快照、数据、长度);
返回容器(
子:滚动条(
伊莎韦肖恩:没错,
控制器:_滚动,
子项:ListView.builder(
控制器:_滚动,
itemCount:snapshot.data.length,
itemBuilder:(构建上下文,int索引){
返回WidgetProduct(快照.数据[索引]);
},
),
),
);
}
},
);
}

@pskink是对的,您可以使用GridView.builder()


@pskink是对的,您可以使用GridView.builder()


检查
GridView.builder
then@pskink非常感谢您的欢迎检查
GridView.builder
then@pskink太棒了,谢谢,当然,欢迎你
@override
  Widget build(BuildContext context) {
    return Scaffold(
        body: ListView.separated(
      separatorBuilder: (context, int) {
        return Divider(color: Colors.black,);
      },
     // shrinkWrap: true,
      itemBuilder: (BuildContext context, int index) {
        return GridView.count(
          shrinkWrap: true,
          crossAxisCount: 3,
          childAspectRatio: 2.0,
          children: List.generate(6, (index) {
            return Center(
              child: RaisedButton(
                onPressed: (){},
                color: Colors.greenAccent,
                child: Text(
                  'item no : $index',
                ),
              ),
            );
          }),
        );
      },
      itemCount: 4,
    ));
  }