我通过用TextField包装new Expanded()面临一个问题。当尝试在textfield中搜索某些内容时,它会通过30px向我展示底部溢出。下面是我的代码:

 Widget build(BuildContext context) {
    return new Scaffold(
        body:
      Column(
        children: <Widget>[
          Row(
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            children: <Widget>[
              IconButton(icon: Icon(Icons.search), onPressed: () {
                setState(() {

                });
              }),
              new Flexible(
                child: new TextField(
                  onChanged: (String value) {
                    onchange(value);
                  },
                  maxLines: 1,
                  autocorrect: true,
//                  decoration: const InputDecoration(helperText: "Search"),
                  style: new TextStyle(fontSize: 10.0, color: Colors.black),
                ),
              ),
              _text != null ? IconButton(
                  icon: Icon(Icons.close), onPressed: (){
              }) : new Container(),

              IconButton(icon: Icon(Icons.bookmark_border), onPressed: () {}),
            ],
          ),
          new Expanded(
              child: FilstList(searchtext: _text,)
          ),


        ],
      ),
    );
  }
}

最佳答案

两种解决方案可以解决此问题。

  • resizeToAvoidBottomPadding: false添加到您的Scaffold
    Scaffold(
     resizeToAvoidBottomPadding: false,
     body: ...)
    
  • 将您的FilstList(searchtext: _text,)放入scrollableView(例如SingleChildScrollViewListView)中
  • 关于flutter - 底部溢出30px,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51972371/

    10-11 20:22