1

我有一个与屏幕底部对齐的按钮,因此无论何时打开键盘,该按钮都会保持在键盘上方的位置。此按钮隐藏包含在 singlechildscrollview 内的列中的文本字段。

(TextFields 使用键盘向上移动。堆叠在列上方的按钮导致问题)

打开键盘前的图片

打开键盘后的图像

我尝试在 Padding 小部件中包装列并给出底部填充,但结果仍然相同。请建议一种将文本字段放置在按钮上方的方法。

注:首次海报。如有错误请见谅。谢谢你

return SafeArea(
  child: Stack(
    fit: StackFit.expand,
    children: [
      SingleChildScrollView(
        child: Container(
          child: Column(
            children: [
              Container(
                color: Colors.deepOrange,
                width: double.maxFinite,
                height: height * 0.3,
              ),
              Container(
                color: Colors.black,
                width: double.maxFinite,
                height: height * 0.56,
                child: SingleChildScrollView(
                  child: Column(
                    mainAxisAlignment: MainAxisAlignment.spaceBetween,
                    children: [
                      Utils().colSpacer20,
                      TextBox(hint: "name", editingController: _controller),
                      Utils().colSpacer20,
                      TextBox(hint: "name", editingController: _controller),
                      Utils().colSpacer20,
                      TextBox(hint: "name", editingController: _controller),
                      Utils().colSpacer20,
                      TextBox(hint: "name", editingController: _controller),
                      Utils().colSpacer20,
                      TextBox(hint: "name", editingController: _controller)
                    ],
                  ),
                ),
              ),
            ],
          ),
        ),
      ),
      Positioned(
        bottom: 0,
        left: 0,
        right: 0,
        child: FlatButton(
          color: Colors.blue[900],
          onPressed: () {},
          child: Text(
            "Save",
            style: TextStyles().subTextStyleWhite,
          ),
          minWidth: double.maxFinite,
          height: height * 0.1,
        ),
      )
    ],
  ),
);

编辑: TextField 小部件的 scrollPadding 属性解决了这个问题。谢谢@Anitesh Reddy。

4

1 回答 1

2

将 padding/margin 或 sizedBox(height:height*0.12) 保留在列的底部,以便定位的小部件向下移动并留出空间。

使用滚动填充属性

于 2020-10-15T17:06:18.517 回答