说我们有下面的代码。如果选择最后一个TextField,则布局会被压缩,因为由于键盘的显示,它试图在较小的空间中容纳。为了解决这个问题,我可以在父Scaffold上将resizeToAvoidBottomPadding
属性设置为false
,但是现在TextField将隐藏在键盘后面。如果我尝试添加SingleChildScrollView,则Column的高度将无限大,因此无法使用Expanded。
在使用Expanded时是否有任何方法可以在视图中滚动TextField(或在Scrollable Widget中按比例划分屏幕上的空间)?谢谢。
Column(
children: <Widget>[
Expanded(
child: TextField()
),
Expanded(
child: TextField()
),
Expanded(
child: TextField()
),
Expanded(
child: TextField()
),
Expanded(
child: TextField()
),
]
);
答案 0 :(得分:0)
使用CustomScrollView并在末尾限制SliverToBoxAdapter无限,希望它能起作用。
CustomScrollView(
slivers: <Widget>[
SliverList(),
SliverToBoxAdapter(
child: new Container(height: 2.0, color: Colors.white),
),
]
);
答案 1 :(得分:0)
您可以获取屏幕的高度,然后除以TextField的数量,请检查此代码:
{{1}}