我需要使用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()
                ])));
  });

我try 使用带有maxHeight属性的BoxConstraints,但最终当键盘出现时,小部件不会滚动.

附注:脚手架将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'),
                    )
                  ])),
        ) 

Flutter相关问答推荐

类型flatter doctor get zsh:未找到命令:macO中flatter

自动测试Flutter应用程序进行QA的最佳方法是什么?

如何使用底部导航栏修复此导航问题

如何将 colored颜色 阴影作为默认容器 colored颜色 应用于自定义窗口小工具?

如何组合匹配器

当键盘在抖动中打开时,如何才能看到包装在SingleChildScrollView中的列中的最后一个小工具?

如何实现Flutter 梳理机图像的小量移动

如何在Flutter 中共享选定文本

Flutter卡内容未在水平列表视图中居中

如何使 dart 函数变得通用?

如何在 Flutter 中设计像 zomato 应用程序一样的搜索字段?

Flutter 未处理的异常 - 对 null 值使用 Null 判断运算符

如何流畅切换画面?

如何使用 Rrect 或类似工具在 flutter 中绘制梯形线?

statefulWidget 无法进行所需更改的问题

如何获取 android 和 Ios (flutter) 的 CircularProgress 指示器?

gridview 的所有按钮都应该在Flutter 中适合其父容器

根据索引/变量更改小部件的 colored颜色

解密 Modulr 安全令牌

小部件库捕获的 Flutter 异常