打开键盘时如何推送所有内容

时间:2019-10-04 17:07:14

标签: flutter dart flutter-layout

打开键盘时是否可以向上推所有内容? (不仅textField区域,整个页面都向上推)

   showModalBottomSheet(
       context: context,
       builder: (BuildContext context) {
            return BottomSheet();
       },
   isScrollControlled: true);

BottomSheet类

class BottomSheet extends StatefulWidget {
  @override
  _BottomSheetState createState() => _BottomSheetState();
}

class _BottomSheetState extends State<BottomSheet> {

  @override
  Widget build(BuildContext context) {
    return
      SingleChildScrollView(
        padding: EdgeInsets.only(
            bottom: MediaQuery.of(context).viewInsets.bottom),
            child: Container(
                child: Column(
                  children: <Widget>[...

我想要这个俯卧撑,

need to like this push-up, here

但是当前输出是

current output here

3 个答案:

答案 0 :(得分:0)

将脚手架的resizeToAvoidBottomInset属性设置为true。

答案 1 :(得分:0)

如果使用堆栈,您可以简单地将小部件的bottom位置设为MediaQuery.of(context).viewInsets.bottom

根据您的情况,将margin : 设置为MediaQuery.of(context).viewInsets.bottom而不是填充。

答案 2 :(得分:-1)

showModalBottomSheet(
      context: context,
      isScrollControlled: true,
      builder: (BuildContext context) {
        return Container(
          padding: EdgeInsets.only(
            bottom: MediaQuery.of(context).viewInsets.bottom,
          ),
          child: //your code
        );
      }
)

这对我有用。也许尝试将填充物移入容器中。