Home

键盘弹出时 Flutter 部件溢出问题

方案 1

class Example extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Form(
        child: Center(
          child: ListView(
            shrinkWrap: true,
            physics: NeverScrollableScrollPhysics(),
            children: <Widget>[],
          ),
        ),
      ),
    );
  }
}

Use ListView

方案 2

Column 外层包 SingleChildScrollView

class Example extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Form(
        child: Center(
          child: SingleChildScrollView(
            child: Column(
              children: <Widget>[],
            ),
          ),
        ),
      ),
    );
  }
}

Use SingleChildScrollView

两者的区别就是 ListView 不是 flex 的,它会填满横向的宽度。而 SingleChildScrollView 不会。