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