Flutter 空&空&;最小宽度>;=0.0';:使用SingleChildScrollView时出现非true错误
我在Flutter 空&空&;最小宽度>;=0.0';:使用SingleChildScrollView时出现非true错误,flutter,Flutter,我在SingleChildScrollView中有一个RoundedLoadingButton。有两个问题。 1:按钮底部被切断(见底部阴影) 2:当我点击按钮或按钮变成加载器时,屏幕上会弹出一个错误 我尝试在列和圆形加载按钮中添加一个扩展的小部件,但没有任何改变。我还尝试将列的mainAxisSize更改为min和max,但它们都没有帮助 我做错了什么?我该如何修复它 返回SingleChildScrollView( 子:容器( 填充:边缘组。对称(水平:40), 孩子:表格( 子:列( 儿童
SingleChildScrollView
中有一个RoundedLoadingButton
。有两个问题。
1:按钮底部被切断(见底部阴影)
2:当我点击按钮或按钮变成加载器时,屏幕上会弹出一个错误
我尝试在列和圆形加载按钮中添加一个扩展的
小部件,但没有任何改变。我还尝试将列的mainAxisSize
更改为min和max,但它们都没有帮助
我做错了什么?我该如何修复它
返回SingleChildScrollView(
子:容器(
填充:边缘组。对称(水平:40),
孩子:表格(
子:列(
儿童:[
SizedBox(高度:Constants.verticaleSectionSpacing*2),
TextFormField(),
TextFormField(),
TextFormField(),
圆形加载按钮(
身高:45,
宽度:double.infinity,
控制器:saveBtnController,
子项:文本('Save'),
按下按钮:_doSomething,
),
],
),
),
),
);
您可以复制粘贴运行下面的完整代码
您可以将width
从double.infinity
更改为MediaQuery.of(context.size.width
或300之类的固定数字
工作演示
完整代码
import 'package:flutter/material.dart';
import 'package:rounded_loading_button/rounded_loading_button.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _counter = 0;
void _incrementCounter() {
setState(() {
_counter++;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: SingleChildScrollView(
child: Container(
padding: EdgeInsets.symmetric(horizontal: 40),
child: Form(
child: Column(
children: [
//SizedBox(height: Constants.verticaleSectionSpacing * 2),
TextFormField(),
TextFormField(),
TextFormField(),
RoundedLoadingButton(
height: 45,
width: MediaQuery.of(context).size.width,
//controller: saveBtnController,
child: Text('Save'),
onPressed: () {},
),
],
),
),
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: Icon(Icons.add),
),
);
}
}
导入“包装:颤振/材料.省道”;
导入“包装:圆形加载按钮/圆形加载按钮.省道”;
void main(){
runApp(MyApp());
}
类MyApp扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回材料PP(
标题:“颤振演示”,
主题:主题数据(
主样本:颜色。蓝色,
视觉密度:视觉密度。自适应平台密度,
),
主页:MyHomePage(标题:“颤振演示主页”),
);
}
}
类MyHomePage扩展StatefulWidget{
MyHomePage({Key,this.title}):超级(Key:Key);
最后的字符串标题;
@凌驾
_MyHomePageState createState()=>\u MyHomePageState();
}
类_MyHomePageState扩展状态{
int _计数器=0;
void _incrementCounter(){
设置状态(){
_计数器++;
});
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(widget.title),
),
正文:SingleChildScrollView(
子:容器(
填充:边缘组。对称(水平:40),
孩子:表格(
子:列(
儿童:[
//SizedBox(高度:Constants.verticaleSectionSpacing*2),
TextFormField(),
TextFormField(),
TextFormField(),
圆形加载按钮(
身高:45,
宽度:MediaQuery.of(context).size.width,
//控制器:saveBtnController,
子项:文本('Save'),
按下:(){},
),
],
),
),
),
),
浮动操作按钮:浮动操作按钮(
按下时:\ u递增计数器,
工具提示:“增量”,
子:图标(Icons.add),
),
);
}
}
@UlaşKasım Um。。。这不是我有的吗?谢谢!有什么区别:double.infinity
和MediaQuery.of(context.size.width
?此外,底部阴影仍然在我的尾端被切断。我已经检查了RoundedLoadingButton的源代码,并发现当使用width和double.infinity时会出现此问题。对不起,我不知道底影剪断的问题。很高兴能帮上忙。如果这个答案对你有帮助,请投票表决。谢谢