如何在Flutter中将按钮附加到底部?

时间:2019-11-17 14:48:07

标签: flutter flutter-layout

我需要创建图片上的屏幕:

enter image description here

我需要在屏幕底部显示该按钮。但是,TextField可以在用户键入时扩展,并且在某些时候可以到达底部的按钮,在该位置按钮应向下移动...

enter image description here

我不知道如何创建这种布局...就像我需要的东西一样:

SingleChildScrollView(
    Column(
        Text()
        TextField()
        Expanded()
        RaisedButton()
    )
)

1 个答案:

答案 0 :(得分:1)

您可以尝试类似的操作:

class ExampleScreen extends StatelessWidget {
  final appBar = AppBar(
    title: Text('Material App Bar'),
  );

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: appBar,
      body: _buildBody(context),
    );
  }

  _buildBody(context) {
    final minHeight = MediaQuery.of(context).size.height -
        appBar.preferredSize.height -
        MediaQuery.of(context).padding.top;

    return SingleChildScrollView(
      child: ConstrainedBox(
        constraints: BoxConstraints(
          minHeight: minHeight,
        ),
        child: Column(
          mainAxisAlignment: MainAxisAlignment.spaceBetween,
          children: <Widget>[
            TextField(
              maxLines: null,
              decoration: InputDecoration(
                border: OutlineInputBorder(),
              ),
            ),
            SizedBox(height: 8),
            RaisedButton(onPressed: () {}),
          ],
        ),
      ),
    );
  }
}