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时会出现此问题。对不起,我不知道底影剪断的问题。很高兴能帮上忙。如果这个答案对你有帮助,请投票表决。谢谢