当前位置: 首页 > 面试题库 >

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

程博学
2023-03-14
问题内容

我需要使用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'),
                    )
                  ])),
        )


 类似资料:
  • 问题内容: 鉴于以下HTML: 我想坚持到底。 不使用绝对定位就可以实现吗?如果float属性支持’bottom’的值,那似乎可以解决问题,但是不幸的是,事实并非如此。 问题答案: 可能不会。 分配给,然后分配给。

  • 问题内容: 我在容器中有三个组件,在其中有按钮。当我按下 最小化按钮时,组件将最小化到容器的底部, 当我按下最小化组件时,它将最大化。 假设三个组件位于底部,并且如果我最大化第二个 组件,则它会最大化,而第三个最小化组件不会占据 第二个组件的位置,并且仍保留为空白。 问题答案: 我已经在和上进行了测试,您可能需要与 其他一些测试。 基本上,当组件失效并 调用该doLayout方法时 ,我们将检查是

  • 我在一个容器中有三个组件和按钮。当我点击最小化按钮时,组件会最小化到容器的底部,当我点击最小化组件时,它会最大化。 假设三个组件位于底部,如果我最大化第二个组件,那么它就会最大化,而第三个最小化组件不会占据第二个组件的位置,这仍然是空间。

  • 问题内容: 我希望一个html图像与div标签的底部齐平。我似乎找不到解决此问题的方法。 这是我的HTML: 问题是div嵌套在具有填充或边距的其他div中。 问题答案: 在包装的div标签上添加相对位置,然后将图像绝对定位在其中,如下所示: CSS: HTML: 现在,图像位于div的底部。

  • 在 一到三个 。有没有办法在后始终将单元格放置在屏幕底部?

  • 我有一个JPanel,在我点击一个按钮后,我希望图标垂直显示,一个在顶部,另一个在底部点击第二个图标,依此类推。 因此,每次点击时,图标位置会在顶部和底部之间交替变化。 我尝试了许多布局经理,但似乎无法让它像我希望的那样工作。 编辑:举例, 第一次点击后; 二次点击, 第三次点击,顶部的另一个图标,依此类推。这样做的目的是添加到我正在创建的国际象棋游戏中。所以我希望死棋子出现在适当的玩家端(黑色或