如何将小部件放置在SingleChildScrollView的底部?
我需要使用SingleChildScrollView才能使用keyboard_actions,以便可以在iOS的键盘上方放置一个“完成”按钮(此刻使用数字键盘)
在SingleChildScrollView将有一列作为一个孩子,然后一个按钮被放置在底部。我尝试过使用LayoutBuilder来将高度提高到SingleChildScrollView。
LayoutBuilder( builder: (BuildContext context, BoxConstraints viewportConstraints) {
return SingleChildScrollView(
child: ConstrainedBox(
constraints:
BoxConstraints(minHeight: viewportConstraints.maxHeight),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
mainAxisSize: MainAxisSize.max,
children: <Widget>[
Column(),
// Spacer() ?
FlatButton()
])));
});
我尝试将BoxConstraintswith与该maxHeight属性一起使用,但是最终当键盘出现时,该小部件不会消失。
旁注:脚手架同时具有resizeToAvoidBottomInset和resizeToAvoidBottomPadding设置为true(默认值)
回答:
问题SingleChildScrollView在于shrikwrap它是孩子。因此,要在两者之间使用自动尺寸小部件-
我们需要使用MediaQuery来获取屏幕高度并SizedBox展开- SingleChildScrollView。
这里的按钮将在屏幕底部。
工作代码:
double height = MediaQuery.of(context).size.height; SingleChildScrollView(
child: SizedBox(
height: height,
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
mainAxisSize: MainAxisSize.max,
children: <Widget>[
Column(
children: <Widget>[
Text('Dummy'),
Text('Dummy'),
Text('Dummy'),
],
),
Spacer(),
FlatButton(
onPressed: () {},
child: Text('Demo'),
)
])),
)
以上是 如何将小部件放置在SingleChildScrollView的底部? 的全部内容, 来源链接: utcz.com/qa/428900.html
