代码之家  ›  专栏  ›  技术社区  ›  Natesh bhat

在flatter中填充列时获得屏幕溢出

  •  0
  • Natesh bhat  · 技术社区  · 7 年前

    我知道我们可以用 ListView Expanded 在这种情况下使用ListView而不是column,但是当我使用ListView而不是column时,我会得到下面代码的运行时异常。

    class _AddAchievementDialog extends State<AddAchievementDialog> {
      String title, description, longDescription, linksString, id;
    
      List<String> links;
    
      @override
      Widget build(BuildContext context) {
        return AlertDialog(
          title: Text(
            "Add",
            textAlign: TextAlign.center,
          ),
          shape: RoundedRectangleBorder(),
          contentPadding: EdgeInsets.all(10),
          content: Container(
            padding: EdgeInsets.all(10),
            height: 350,
            child: Column(
              children: <Widget>[
                TextField(
                  decoration: InputDecoration(labelText: 'Title'),
                ),
                TextField(
                  keyboardType: TextInputType.multiline,
                  maxLines: 2,
                  decoration: InputDecoration(labelText: 'Description'),
                ),
                TextField(
                  keyboardType: TextInputType.multiline,
                  maxLines: 3,
                  decoration: InputDecoration(labelText: 'Long Description'),
                ),
                TextField(
                  decoration:
                      InputDecoration(labelText: 'Links (seperated by comma) '),
                ),
              ],
            ),
          ),
          actions: <Widget>[
            RaisedButton(
              child: Text("Submit"),
            )
          ],
        );
      }
    }
    
    0 回复  |  直到 7 年前
        1
  •  0
  •   romaneso    5 年前

    您必须将Column小部件包装在aScrollView-Widget中并调整一些flagsit。

    ListView(
      physics: NeverScrollableScrollPhysics(),
      shrinkWrap: true,
      children: <Widget>[
         Text();
      ]
    );