Flutter:如何让 Listview 中的 TextView 填充剩余空间

Pas*_*cal 1 android flutter flutter-layout

我需要你的帮助。我使用一个包含容器与100高度和一个ListViewTextfieldmaxlines设置为null

maxlines设置为null,因为用户应该能够根据需要编写尽可能多的行。

TextfieldContainer嵌套在一个ListView,因为他们需要,如果一起滚动Textfield扩张经过屏幕的高度。
所以我基本上是在尝试制作某种笔记应用程序。这Container是标题。该Textfieldtextbody

问题:
当用户没有在 中输入任何内容时TextfieldTextfield应该填充剩余空间。所以它应该像 Expandable Widget 在一行中那样扩展到屏幕的末尾。我怎样才能做到这一点?

在此处输入图片说明

msk*_*ick 6

这应该完成你想要做的事情:

class MyPageBody extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return LayoutBuilder(
      builder: (context, constraint) {
        return SingleChildScrollView(
          child: ConstrainedBox(
            constraints: BoxConstraints(minHeight: constraint.maxHeight),
            child: IntrinsicHeight(
              child: Column(
                children: <Widget>[
                  Container(
                    height: 100,
                    alignment: Alignment.center,
                    color: Colors.green,
                    child: Text("Header"),
                  ),
                  Expanded(
                    child: TextField(
                      expands: true,
                      maxLines: null,
                      decoration: InputDecoration(
                          fillColor: Colors.blue[200], filled: true),
                    ),
                  ),
                ],
              ),
            ),
          ),
        );
      },
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

一行文本(仍会扩展以填充可见空间) 多行(可滚动/停留在标题下方并扩展以填充可见空间)