尽管不需要 Flutter,但 Scaffold 占据了整个屏幕

如何解决尽管不需要 Flutter,但 Scaffold 占据了整个屏幕

我有以下代码

import 'package:Flutter/material.dart';
import 'package:spiran_app/constants/constants.dart';
import 'package:spiran_app/widgets/form_textfield_widget.dart';
import 'package:spiran_app/widgets/subscreen_appbar_widget.dart';

import 'dialog_widget.dart';

class SignUpDialogWidget extends StatefulWidget {
  @override
  _SignUpDialogWidgetState createState() => _SignUpDialogWidgetState();
}

class _SignUpDialogWidgetState extends State<SignUpDialogWidget> {
  final GlobalKey<FormState> _formKey = GlobalKey<FormState>();

  TextEditingController _emailController = TextEditingController();
  TextEditingController _passwordController = TextEditingController();
  TextEditingController _confirmPasswordController = TextEditingController();

  @override
  Widget build(BuildContext context) {
    final ThemeData themeData = Theme.of(context);
    return Container(
      margin: Constants.constContainerMargin,decoration: Boxdecoration(
        borderRadius:
            BorderRadius.circular(Constants.constContainerBorderRadius),BoxShadow: [
          BoxShadow(color: Colors.black,blurRadius: 50.0,spreadRadius: 20.0),],),child: ClipRRect(
        borderRadius:
            BorderRadius.circular(Constants.constContainerBorderRadius),child: Scaffold(
          appBar: SubscreenAppBarWidget(
            theme: Theme.of(context),title: "Sign Up",leadingWidget: IconButton(
              icon: Icon(Icons.close),onpressed: () => Navigator.pop(context),body: Form(
            autovalidateMode: AutovalidateMode.onUserInteraction,key: _formKey,child: Padding(
              padding: const EdgeInsets.all(8.0),child: Column(
                mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[
                  FormTextFieldWidget(
                    theme: themeData,textEditingController: this._emailController,icon: Icons.alternate_email,textFieldHintText: "Email",validationRegex: RegExp(
                        r"^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,253}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,253}[a-zA-Z0-9])?)*$"),validationErrorMessage:
                        "Please enter a valid email address",FormTextFieldWidget(
                    theme: themeData,textEditingController: this._passwordController,icon: Icons.lock,isPassword: true,textFieldHintText: "Password",validationErrorMessage: "Please enter a valid password",textEditingController: this._confirmPasswordController,textFieldHintText: "Confirm Password",validationErrorMessage: "Passwords do not match",Align(
                    alignment: Alignment.center,child: ElevatedButton(
                      style: ButtonStyle(
                          shape: MaterialStateProperty.all(
                            RoundedRectangleBorder(
                              borderRadius: BorderRadius.circular(
                                Constants.constContainerBorderRadius,backgroundColor: MaterialStateProperty.all(
                              themeData.primaryColor)),child: Text(
                        "Sign Up",style: TextStyle(
                          color: themeData.accentColor,onpressed: () {
                        if (!_formKey.currentState!.validate()) {
                          showDialog(
                            context: context,builder: (ctx) => DialogWidget(
                              titleText: "Input error",contentText:
                                  "One or some of your inputs have an error. Please correct them first",);
                          return;
                        }
                        //Todo sign up
                      },)
                ],);
  }
}

我得到的结果是这样的:

Extra Spaces

如您所见,此屏幕的顶部和底部(矩形)有一个额外的空间。导致这种情况的小部件是我拥有的 Scaffold 小部件。如何删除多余的空间,以便我的小部件占用它需要的空间而不是更多?

解决方法

我没有很好地理解这个问题,但我认为您可以使用 Material() 小部件而不是脚手架

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?