android - SingleChildScrollView ,子列上的空格问题
问题描述
当我尝试打开手机键盘时,我的 ** PIXELS 底部溢出,所以我将我的 Column 包裹在SingleChildScrollView但不知何故它被推到顶部并且MainAxisAlignment.spaceEvenly停止工作,所以 我使用SizedBox在它们之间留出了一些空间问题是:这是好方法吗?实现小部件之间的空间,它是否适用于不同的手机尺寸
第二个问题:当我打开键盘时,如何将所有列推到顶部直到最后一项显示而不滚动,如下图所示
解决方案
- 要
MainAxisAlignment.spaceEvenly
再次进行这项工作,您需要将您的内部包裹起来ConstrainedBox
,如下所示:
SingleChildScrollView(
child: ConstrainedBox(
constraints: BoxConstraints(
maxHeight: MediaQuery.of(context).size.height,
),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Text('data'),
Text('HelloWorld'),
],
),
),
),
- 要滚动到表单的末尾,请使用 a
ScrollController
并SingleChildScrollView
动画到列表的末尾,如下所示:
controller.animateTo(
controller.position.maxScrollExtent,
duration: const Duration(milliseconds: 500),
curve: Curves.easeOut,
);
- 可以使用
SizedBox
空格,一个小提示:记得const
在它之前设置以使您的应用程序性能更高,因为这样flutter不会在每次重新构建小部件时都重新构建sizedBox Widget
希望你觉得这对你有帮助 =D
推荐阅读
- python - 未找到熊猫模块
- c# - C# 计算在 const 和 variable locals 之间有什么不同?
- snowflake-cloud-data-platform - 为 python 安装雪花连接器时出错
- xml - xpath 条件不适用于 xmllint
- python - 仅反转字符链接列表中的元音
- mysql - 如何比较不同表的SQL字段,然后用值替换其他字段?
- python - 如何解决“'NoneType'类型的参数不可迭代”的问题?
- flutter - 对框架中不存在的类进行 Flutter 模糊导入
- javascript - Netlify Lambda 不包含 Function 的支持文件
- python - 在 Panda DataFrame 中隐藏索引的最佳方法是什么?