我在Flutter中设计了一个表单。我想让它滚动每当键盘打开,使用户可以填写得到键盘下面隐藏的领域。下面是相同的截图:
我用SingleChildScrollView()
试过了,但是没有用。我试过在SingleChildScrollView()
中 Package 各种小部件,但它不工作。我也尝试过将其 Package 在Expanded()
小部件中,但仍然无法实现我的目标。
下面是我的代码:
Widget build(BuildContext context) {
return Container(
margin: const EdgeInsets.all(10),
child: Column(children: <Widget>[
Form(
key: formKey,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
ListTile(
title: const Text("Name"),
subtitle: TextFormField(
decoration: const InputDecoration(
border: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(8))),
contentPadding: EdgeInsets.symmetric(horizontal: 10),
hintText: 'Type your name here',
),
),
),
ElevatedButton(
style: style,
child: Container(
width: MediaQuery.of(context).size.width,
alignment: Alignment.center,
child: const Text(
'Update',
style: TextStyle(
fontSize: 24, color: Colors.white, fontFamily: 'Nunito'),
),
),
onPressed: () {
}
},
),
]),
);
4条答案
按热度按时间nvbavucw1#
尝试用填充物包裹它
esyap4oy2#
SingleChildScrollView小部件应该可以解决您的问题。它可能是你放置它的地方。它需要 Package 整个表单,而不仅仅是一个单独的列表瓦片。下面是一个例子,以你的例子为基础。
}
fbcarpbf3#
我以前遇到过这个问题,我设法通过用
SingleChildScrollView
Package 包含小部件的列并给它Axis.vertical
来缓解它。然后转到父scaffold并将resizeToAvoidBottomInset
设置为true
。Depends on how your widget tree looks
e37o9pze4#
如果你正在使用Screenutil包,你可以实现这个
ScreenUtilInit(useInheritedMediaQuery:true,)