如何将小部件放置在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属性一起使用,但是最终当键盘出现时,该小部件不会消失。

旁注:脚手架同时具有resizeToAvoidBottomInsetresizeToAvoidBottomPadding设置为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

回到顶部