底部溢出30px

Hit*_*goi 11 flutter flutter-layout

我通过使用新的Expanded()包装TextField来解决问题.当试图在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,)
          ),


        ],
      ),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

Din*_*ian 36

这个问题有两种解决方案.

  1. 加入resizeToAvoidBottomPadding: false你的Scaffold

    Scaffold(
     resizeToAvoidBottomPadding: false,
     body: ...)
    
    Run Code Online (Sandbox Code Playgroud)
  2. 把你的FilstList(searchtext: _text,)内部scrollableView(像SingleChildScrollViewListView)

  • `resizeToAvoidBottomPadding` 现已[弃用](https://api.flutter.dev/flutter/material/Scaffold/resizeToAvoidBottomPadding.html)。请改用“resizeToAvoidBottomInset: false”。 (18认同)
  • 这阻止了我身体的内容被显示。主体是一个“TabBarView”。每个选项卡视图都有一个动态高度,因为它填充了来自服务器的数据,因此视图没有可用的大小。将“TabBarView”放置在固定大小的“Container”内会降低 UI 质量。 (2认同)

Dha*_*dav 6

使用 Scaffold 属性“resizeToAvoidBottomPadding: false”和“SingleChildScrollView”作为 Scaffold body 的父级:

      home: Scaffold(
          resizeToAvoidBottomPadding: false,
          appBar: AppBar(
            title: Text("Registration Page"),
          ),
          body: SingleChildScrollView(
            child: RegisterUser(),
          )),
Run Code Online (Sandbox Code Playgroud)

这将解决问题。


Cop*_*oad 5

你应该使用 resizeToAvoidBottomInset

Scaffold(
  resizeToAvoidBottomInset: false, // set it to false
  ... 
)
Run Code Online (Sandbox Code Playgroud)

如果您遇到溢出错误的问题,请使用SingleChildScrollView它。

Scaffold(
  resizeToAvoidBottomInset: false, // set it to false
  body: SingleChildScrollView(child: YourBody()),
)
Run Code Online (Sandbox Code Playgroud)