SingleChildScrollView ,子列上的空格问题

Its*_*ser 1 android widget dart flutter singlechildscrollview

我有一个溢出了** PIXELS BOTTOM当我试图打开手机的键盘,所以我在我的包裹栏SingleChildScrollView但不知何故,它成为推到了顶部和MainAxisAlignment.spaceEvenly停止工作,所以我使用它们之间取得了一定的空间SizedBox 我问题是:这是这样做的好方法吗?实现小部件之间的空间,它是否适用于不同的手机尺寸

我的代码: 在此处输入图片说明

第二个问题: 当我打开键盘时,如何将所有列推到顶部,直到显示最后一个项目而不滚动,如下图所示

在此处输入图片说明

小智 5

  1. MainAxisAlignment.spaceEvenly再次工作,您需要将您的内部包裹起来ConstrainedBox,如下所示:
SingleChildScrollView(
        child: ConstrainedBox(
          constraints: BoxConstraints(
            maxHeight: MediaQuery.of(context).size.height,
          ),
          child: Column(
            mainAxisAlignment: MainAxisAlignment.spaceEvenly,
            children: [
              Text('data'),
              Text('HelloWorld'),
            ],
          ),
        ),
      ),
Run Code Online (Sandbox Code Playgroud)
  1. 要滚动到表单的末尾,请使用 a ScrollControllerfor theSingleChildScrollView并动画到列表的末尾,如下所示:
   controller.animateTo(
      controller.position.maxScrollExtent,
      duration: const Duration(milliseconds: 500),
      curve: Curves.easeOut,
    );
Run Code Online (Sandbox Code Playgroud)
  1. 没关系使用SizedBox的空间,一个小提示:一定要设置const它,使您的应用程序更好的性能之前的辩论,因为这样每扑你的widget重建时间不会重建sizedBox的Widget

希望你觉得这有帮助 =D