Flutter 如何在TextFormField中添加填充?

Flutter 如何在TextFormField中添加填充?,flutter,dart,Flutter,Dart,我希望标题足以理解我想要什么,如何在TextFormField中添加填充和边距?更多信息请参见下图。谢谢 child: Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ Image.asset('assets/images/logo.png'), TextFormField( dec

我希望标题足以理解我想要什么,如何在TextFormField中添加填充和边距?更多信息请参见下图。谢谢

      child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          Image.asset('assets/images/logo.png'),
          TextFormField(
            decoration: InputDecoration(
                fillColor: Colors.white,
                filled: true,
                border: new OutlineInputBorder(
                  borderRadius: const BorderRadius.all(
                    const Radius.circular(10.0),
                  ),
                ),
                labelText: 'Enter your username'),
          ),
          TextFormField(
            decoration: InputDecoration(
                fillColor: Colors.white,
                filled: true,
                border: new OutlineInputBorder(
                  borderRadius: const BorderRadius.all(
                    const Radius.circular(10.0),
                  ),
                ),
                labelText: 'Enter your password'),
          ),
        ],
      )
child:Column(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
Image.asset('assets/images/logo.png'),
TextFormField(
装饰:输入装饰(
fillColor:Colors.white,
是的,
边框:新大纲输入边框(
borderRadius:const borderRadius.all(
圆形常数半径(10.0),
),
),
labelText:“输入您的用户名”),
),
TextFormField(
装饰:输入装饰(
fillColor:Colors.white,
是的,
边框:新大纲输入边框(
borderRadius:const borderRadius.all(
圆形常数半径(10.0),
),
),
labelText:“输入密码”),
),
],
)

您可以添加SizedBox

 TextFormField(
            decoration: InputDecoration(
                fillColor: Colors.white,
                filled: true,
                border: new OutlineInputBorder(
                  borderRadius: const BorderRadius.all(
                    const Radius.circular(10.0),
                  ),
                ),
                labelText: 'Enter your username'),
          ),
          SizedBox(height: 10),
          TextFormField(
            decoration: InputDecoration(
                fillColor: Colors.white,
                filled: true,
                border: new OutlineInputBorder(
                  borderRadius: const BorderRadius.all(
                    const Radius.circular(10.0),
                  ),
                ),
                labelText: 'Enter your password'),
          ),

您可以在textformfield之间插入sizedbox,如:-

child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          Image.asset('assets/images/logo.png'),
          TextFormField(
            decoration: InputDecoration(
                fillColor: Colors.white,
                filled: true,
                border: new OutlineInputBorder(
                  borderRadius: const BorderRadius.all(
                    const Radius.circular(10.0),
                  ),
                ),
                labelText: 'Enter your username'),
          ),
          SizedBox(height:30), // will add 30 pixels gap in between the fields
          TextFormField(
            decoration: InputDecoration(
                fillColor: Colors.white,
                filled: true,
                border: new OutlineInputBorder(
                  borderRadius: const BorderRadius.all(
                    const Radius.circular(10.0),
                  ),
                ),
                labelText: 'Enter your password'),
          ),
        ],
      )
child:Column(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
Image.asset('assets/images/logo.png'),
TextFormField(
装饰:输入装饰(
fillColor:Colors.white,
是的,
边框:新大纲输入边框(
borderRadius:const borderRadius.all(
圆形常数半径(10.0),
),
),
labelText:“输入您的用户名”),
),
SizedBox(高度:30),//将在字段之间添加30个像素的间距
TextFormField(
装饰:输入装饰(
fillColor:Colors.white,
是的,
边框:新大纲输入边框(
borderRadius:const borderRadius.all(
圆形常数半径(10.0),
),
),
labelText:“输入密码”),
),
],
)

请将TextFormField包装在容器中,并根据您的用户界面将边距设置为top、left、right、bottom。请检查这个,如果这个是正确的,请告诉我

Container(
                margin: EdgeInsets.only(top: 10,left: 0,right: 0,bottom: 0),
                child: TextFormField(
            decoration: InputDecoration(
                  fillColor: Colors.white,
                  filled: true,
                  border: new OutlineInputBorder(
                    borderRadius: const BorderRadius.all(
                      const Radius.circular(10.0),
                    ),
                  ),
                  labelText: 'Enter your password'),
          ),
              ),

要应用水平填充,只需在
列的上方添加
填充
小部件即可:

Padding(
  padding: EdgeInsets.symmetric(horizontal: 16.0),
  child: Column(
    mainAxisAlignment: MainAxisAlignment.center,
    children: [
      Image.asset('assets/images/logo.png'),
      // your text fields
    ],
...

child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          Image.asset('assets/images/logo.png'),
          TextFormField1(...),
          SizedBox(height: 24.0),
          TextFormField2(...),
          SizedBox(height: 24.0),
        ],
      )
要添加垂直填充,请使用
SizedBox

Padding(
  padding: EdgeInsets.symmetric(horizontal: 16.0),
  child: Column(
    mainAxisAlignment: MainAxisAlignment.center,
    children: [
      Image.asset('assets/images/logo.png'),
      // your text fields
    ],
...

child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          Image.asset('assets/images/logo.png'),
          TextFormField1(...),
          SizedBox(height: 24.0),
          TextFormField2(...),
          SizedBox(height: 24.0),
        ],
      )
child:Column(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
Image.asset('assets/images/logo.png'),
TextFormField1(…),
尺寸箱(高度:24.0),
TextFormField2(…),
尺寸箱(高度:24.0),
],
)

您可以使用几种方法增加与它们的距离:

  • SizedBox()

  • Padding()

  • 容器(边距,子项:…)

  • 1-
    SizedBox()

    3-
    Container()


    InputDecoration采用contentPadding值。直接使用即可。

    如果需要填充和边距,可以用容器包装并添加边距,为什么不直接使用填充小部件?
         Container(
            margin: EdgeInsets.only(top: 15),
            child: TextFormField(
            decoration: InputDecoration(
              fillColor: Colors.white,
              filled: true,
              border: new OutlineInputBorder(
                borderRadius: const BorderRadius.all(
                  const Radius.circular(10.0),
                ),
              ),
              labelText: 'Enter your password'),
      ),
          ),