繁体   English   中英

如何将小部件放置在表单小部件的底部?

[英]How to place widget to the bottom inside Form widget?

我有小部件:

Scaffold(
  appBar: ...,
  body: Form(
    child: ListView(
      children: [
        ...
        ElevatedButton() // Save button
      ]
    )
  )
);

图像

所以,我想把它放在屏幕的底部。 我试图将它放在Align小部件中,但它不起作用。 另一件事是我上面有ExpansionTile ,它可以溢出屏幕。 在这种情况下, ActivateSave按钮之间不能有任何额外的空间。 怎么做?

使用 MainAxisAlignment.spaceBetween。 文档:

将空闲空间均匀地放在孩子之间。

bool _hasExpansionTile = false;

Scaffold(
  appBar: ...,
  body: Column(mainAxisAlignment: _hasExpansionTile ? MainAxisAlignment.start : MainAxisAlignment.spaceBetween, /// Checking that the expansion tile is visible
        children: [
          Flexible(
             child: Form(
                child: Column(
                    children: [
                       ...
                    ],
                ),
             ),
          ),
          ElevatedButton(onPressed: (){}, child: Text("Send")),
        ],
      ),
);

当然,当您更改_hasExpansionTile属性的值时,您必须使用 setState()。

您可以使用 Spacer()

Scaffold( appBar: ...,
body: Form(
child: ListView(
  children: [
    ...
    Spacer(),
    ElevatedButton() // Save button
  ]
)

));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM