增加TextField的高度

时间:2019-11-28 17:07:12

标签: flutter dart stack containers

我想增加第二个TextField的高度(内部堆栈)。我已经将其包装在Container中,并将高度设置为500,但没有任何区别。

class _ABC extends State<ABC>{
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text('Add Data'),
          actions: <Widget>[
            IconButton(
              icon: Icon(Icons.done),
              onPressed: () {},
            )
          ],
        ),
        body: SingleChildScrollView(
            padding: const EdgeInsets.all(10.0),
            child: Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: <Widget>[
                  TextField(
                    style: TextStyle(fontSize: 12.0),
                    decoration: InputDecoration(
                      border: OutlineInputBorder(
                          borderRadius: const BorderRadius.all(
                              const Radius.circular(5.0))),
                      hintText: Localization.of(context).name,
                      labelText: Localization.of(context).name,
                    ),
                  ),
                  SizedBox(
                    height: 15.0,
                  ),
                  Stack(
                    children: <Widget>[
                      Container(
                          width: double.infinity,
                          height: 500.0,          
                          child: TextField(
                            style: TextStyle(fontSize: 12.0),
                            decoration: InputDecoration(
                              border: OutlineInputBorder(
                                  borderRadius: const BorderRadius.all(
                                      const Radius.circular(5.0))),
                              hintText: Localization.of(context).name,
                              labelText: Localization.of(context).name,
                            ),
                          )),
                      Positioned(
                        left: 5.0,
                        child: Icon(Icons.camera),
                      )
                    ],
                  )
                ])));
  }

2 个答案:

答案 0 :(得分:2)

尝试在TextFormField内添加以下代码,您不必将高度设置为Container

TextFormField(
 .......
 keyboardType: TextInputType.multiline,
 maxLines: 5,// change the value of maxlines according to your requirement
),

输出

enter image description here

答案 1 :(得分:0)

TextField的高度可以通过

设置

1)展开以展开

填充其所有者

2)使用 maxlines 将其设置为以行为单位的固定高度。

这是您需要填充的容器:

Container(
    width: double.infinity,
    height: 500.0,
    color: Colors.amber,
  child: TextField(
    expands: true,
    maxLines: null,
    style: TextStyle(fontSize: 12.0),
    decoration: InputDecoration(
      border: OutlineInputBorder(
          borderRadius: const BorderRadius.all(
              const Radius.circular(5.0))),
      hintText: Localization.of(context).name,
      labelText: Localization.of(context).name,
    ),
  ),
)