颤动中的动态 GridView 列表 UI

Alo*_*lok 1 gridview flutter flutter-layout

我有一个这样的设计:

想要达到

我一直在阅读 boutGridView并发现它足够复杂以获得结果。我也在这里关注了这个问题:Flutter-Layout a Grid。发现这是针对固定列表,加上列表有不同的UI。

我有来自 API 的信息,我有一个名为 as 的小部件,MoreInfo()它有一个要从 API 传递的文本参数。

我已经实现了我想要从列表中获取字符串的目的。只是我试图得到结果,但没有很好地给出结果。

将列表添加到小部件:

GridView getOtherInfo(BuildContext context){
  List<String> _yesElems = [];
  List<Widget> _widget = [];

  this.userBarModel.barModel.otherInfo.yes.forEach((item){
    _yesElems.add(item);
  });

  _yesElems.forEach((o){
    _widget.add(MoreInfoWidget(text: o));
  });

  return GridView.count(
    crossAxisCount: 4,
    children: _widget
  );
}
Run Code Online (Sandbox Code Playgroud)

界面代码:

Column(
  corssAxisalignment: CrossAxisAlignment.stretch;
  children: <Widget>[
     Padding(
       padding: EdgeInsets.only(top: 9.0),
       child: Text("MORE INFO",
           style: TextStyle(color: Color.fromRGBO(183, 193, 203, 1), fontWeight: FontWeight.bold, fontSize: 11.0))
     ),
     SizedBox(height: 11.4),
     Container(
        height: 140,
        child: getOtherInfo(context)
     )
  ]
)
Run Code Online (Sandbox Code Playgroud)

我现在得到的结果是:

我得到的图像

我想得到上述结果。有内置的顶部填充添加到 UI。我不知道为什么。你能帮我吗,伙计们?

我曾尝试使用crossAixCount: 2,但用户界面变为空白。任何帮助,将不胜感激。谢谢 :)

Cop*_*oad 10

也许我没有理解你,你能试试这个代码,它给你一个提示,你可以按照自己的方式来做,如果这就是你要找的,请告诉我。

List<int> _list = [];

math.Random random = math.Random();

@override
void initState() {
  super.initState();

  Timer.periodic(Duration(milliseconds: 1000), (timer) {
    _list.add(random.nextInt(100));
    setState(() {});
  });
}

Widget build(context) {
  return Scaffold(
    appBar: AppBar(),
    body: GridView.count(
      crossAxisCount: 2,
      crossAxisSpacing: 160,
      childAspectRatio: 3,
      children: _list.map((value) {
        return Container(
          alignment: Alignment.center,
          margin: EdgeInsets.all(8),
          decoration: BoxDecoration(border: Border.all(color: Colors.black),),
          child: Text("Item ${value}"),
        );
      }).toList(),
    ),
  );
}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明