Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 模式中的键盘取消安全区_Flutter_Dart - Fatal编程技术网

Flutter 模式中的键盘取消安全区

Flutter 模式中的键盘取消安全区,flutter,dart,Flutter,Dart,当键盘接通时,模式中的安全区域将被忽略。在本例中,单击TextField可以看到模式移动。如何使SafeArea处于模式中,并在激活键盘时避免移动模式 Scaffold( resizeToAvoidBottomInset: false, body: SafeArea( child: Center( child: FlatButton( child: Text('open modal'),

当键盘接通时,模式中的安全区域将被忽略。在本例中,单击TextField可以看到模式移动。如何使SafeArea处于模式中,并在激活键盘时避免移动模式

Scaffold(
      resizeToAvoidBottomInset: false,
      body: SafeArea(
        child: Center(
          child: FlatButton(
            child: Text('open modal'),
            onPressed: () => showModalBottomSheet(
              isScrollControlled: true,
              context: context,
              builder: (context) => SafeArea( //< when safearea is removed the modal doesn't move
                child: Container(
                  height: 500,
                  child: TextField(
                    onChanged: (v) {},
                  ),
                ),
              ),
            ),
          ),
        ),
      ),
    );
脚手架(
resizeToAvoidBottomInset:false,
正文:安全区(
儿童:中心(
孩子:扁平按钮(
子:文本(“打开模式”),
已按下:()=>showModalBottomSheet(
是的,
上下文:上下文,
生成器:(上下文)=>SafeArea(//<当移除SafeArea时,模式不会移动
子:容器(
身高:500,
孩子:TextField(
一旦改变:(v){},
),
),
),
),
),
),
),
);

我会在
BotttomModalSheet
中使用
填充
小部件而不是
安全区域
,特别是因为您不处理屏幕顶部的
安全区域
一开始就只是一个填充小部件

showModalBottomSheet(
是的,
上下文:上下文,
生成器:(上下文)=>填充(
填充:常量边集。全部(16),
//<移除安全区域后,模态不会移动
子:容器(
身高:500,
孩子:TextField(
一旦改变:(v){},
),
),
),
),

如果这不是您想要的,请告诉我

是的。。我想这是唯一的选择
showModalBottomSheet(
              isScrollControlled: true,
              context: context,
              builder: (context) => Padding(
                padding: const EdgeInsets.all(16),
                //< when safearea is removed the modal doesn't move
                child: Container(
                  height: 500,
                  child: TextField(
                    onChanged: (v) {},
                  ),
                ),
              ),
            ),