Flutter 底部溢出182像素
我正在尝试在Flatter上的小部件中添加文本字段,它会正确呈现,但当按下文本以输入数据时,会出现以下错误: “底部溢出182像素” 出现默认键盘时出错。我不知道为什么会发生这种情况,因为我将所有内容都包装在一个SingleChildScrollView小部件中,因此应该可以正常工作 随附代码:Flutter 底部溢出182像素,flutter,Flutter,我正在尝试在Flatter上的小部件中添加文本字段,它会正确呈现,但当按下文本以输入数据时,会出现以下错误: “底部溢出182像素” 出现默认键盘时出错。我不知道为什么会发生这种情况,因为我将所有内容都包装在一个SingleChildScrollView小部件中,因此应该可以正常工作 随附代码: class TextFieldsState extends State<TextFields> { @override Widget build(BuildContext cont
class TextFieldsState extends State<TextFields> {
@override
Widget build(BuildContext context) {
const colorRed = Color(0xFFF0786E);
return SingleChildScrollView(
child: Container(
margin: EdgeInsets.symmetric(
horizontal: 20.0,
vertical: 20.0,
),
//color: Colors.greenAccent,
height: 500,
child: Stack(
//alignment: Alignment.bottomCenter,
children: <Widget>[
Container (
height: 500,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(22.0),
color: colorRed,
),
child: Container (
height: 500,
margin: EdgeInsets.only(right: 10,),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(22),
),
),
),
Center(
child: Positioned (
child: SizedBox(
height: 136,
//width: size.width,
child: Column(
children: <Widget>[
Container(
height: 30,
width: 160,
child: TextField(
decoration: InputDecoration(
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Colors.blue,
),
borderRadius: BorderRadius.circular(10.0),
),
hintText: 'Name',
),
textAlign: TextAlign.center,
),
),
SizedBox(height: 20.0),
Container(
height: 30,
width: 160,
child: TextField(
decoration: InputDecoration(
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Colors.blue,
),
borderRadius: BorderRadius.circular(10.0),
),
hintText: 'Surname',
),
textAlign: TextAlign.center,
),
),
SizedBox(height: 20.0),
Container(
height: 30,
width: 160,
child: TextField(
decoration: InputDecoration(
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Colors.blue,
),
borderRadius: BorderRadius.circular(10.0),
),
hintText: 'Nationality',
),
textAlign: TextAlign.center,
),
),
],
),
),
),
),
],
),
),
);
}
}
class textfieldstate扩展状态{
@凌驾
小部件构建(构建上下文){
const colorRed=颜色(0xFFF0786E);
返回SingleChildScrollView(
子:容器(
边距:边缘组。对称(
水平:20.0,
垂直线:20.0,
),
//颜色:Colors.greenAccent,
身高:500,
子:堆栈(
//对齐:对齐.bottomCenter,
儿童:[
容器(
身高:500,
装饰:盒子装饰(
边界半径:边界半径。圆形(22.0),
颜色:红色,
),
子:容器(
身高:500,
页边空白:仅限边集(右:10,),
装饰:盒子装饰(
颜色:颜色,白色,
边界半径:边界半径。圆形(22),
),
),
),
居中(
孩子:定位(
孩子:大小盒子(
身高:136,
//宽度:size.width,
子:列(
儿童:[
容器(
身高:30,
宽度:160,
孩子:TextField(
装饰:输入装饰(
聚焦顺序:大纲输入边框(
边界边(
颜色:颜色,蓝色,
),
边界半径:边界半径。圆形(10.0),
),
hintText:'名称',
),
textAlign:textAlign.center,
),
),
尺寸箱(高度:20.0),
容器(
身高:30,
宽度:160,
孩子:TextField(
装饰:输入装饰(
聚焦顺序:大纲输入边框(
边界边(
颜色:颜色,蓝色,
),
边界半径:边界半径。圆形(10.0),
),
hintText:'姓',
),
textAlign:textAlign.center,
),
),
尺寸箱(高度:20.0),
容器(
身高:30,
宽度:160,
孩子:TextField(
装饰:输入装饰(
聚焦顺序:大纲输入边框(
边界边(
颜色:颜色,蓝色,
),
边界半径:边界半径。圆形(10.0),
),
hintText:‘国籍’,
),
textAlign:textAlign.center,
),
),
],
),
),
),
),
],
),
),
);
}
}
请问解决办法是什么?请试试这个
SingleChildScrollView(
column( // your column
)
)
列中存在溢出错误,您应该添加
SingleChildScrollView
作为此列的父项。请检查下面编辑的代码
class TextFieldsState extends State<TextFields> {
@override
Widget build(BuildContext context) {
const colorRed = Color(0xFFF0786E);
return Scaffold(
body: SingleChildScrollView(
child: Container(
margin: EdgeInsets.symmetric(
horizontal: 20.0,
vertical: 20.0,
),
//color: Colors.greenAccent,
height: 500,
child: Stack(
//alignment: Alignment.bottomCenter,
children: <Widget>[
Container(
height: 500,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(22.0),
color: colorRed,
),
child: Container(
height: 500,
margin: EdgeInsets.only(
right: 10,
),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(22),
),
),
),
Center(
child: SizedBox(
height: 136,
//width: size.width,
child: SingleChildScrollView(
child: Column(
children: <Widget>[
Container(
height: 30,
width: 160,
child: TextField(
decoration: InputDecoration(
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Colors.blue,
),
borderRadius: BorderRadius.circular(10.0),
),
hintText: 'Name',
),
textAlign: TextAlign.center,
),
),
SizedBox(height: 20.0),
Container(
height: 30,
width: 160,
child: TextField(
decoration: InputDecoration(
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Colors.blue,
),
borderRadius: BorderRadius.circular(10.0),
),
hintText: 'Surname',
),
textAlign: TextAlign.center,
),
),
SizedBox(height: 20.0),
Container(
height: 30,
width: 160,
child: TextField(
decoration: InputDecoration(
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Colors.blue,
),
borderRadius: BorderRadius.circular(10.0),
),
hintText: 'Nationality',
),
textAlign: TextAlign.center,
),
),
],
),
),
),
),
],
),
),
),
);
}
}
class textfieldstate扩展状态{
@凌驾
小部件构建(构建上下文){
const colorRed=颜色(0xFFF0786E);
返回脚手架(
正文:SingleChildScrollView(
子:容器(
边距:边缘组。对称(
水平:20.0,
垂直线:20.0,
),
//颜色:Colors.greenAccent,
身高:500,
子:堆栈(
//对齐:对齐.bottomCenter,
儿童:[
容器(
身高:500,
装饰:盒子装饰(
边界半径:边界半径。圆形(22.0),
颜色:红色,
),
子:容器(
身高:500,
页边距:仅限边距(
右:10,,
),
装饰:盒子装饰(
颜色:颜色,白色,
边界半径:边界半径。圆形(22),
),
),
),
居中(
孩子:大小盒子(
身高:136,
//宽度:size.width,
子:SingleChildScrollView(
子:列(
儿童:[
容器(
身高:30,
宽度:160,
孩子:TextField(
装饰:输入装饰(
聚焦顺序:大纲输入边框(
边界边(
颜色:颜色,蓝色,
),
边界半径:边界半径。圆形(10.0),