gpt4 book ai didi

flutter - 键盘将 modalBottomSheet 推出边界,resizeToAvoidBottomInset 不起作用

转载 作者:行者123 更新时间:2023-12-03 21:43:05 38 4
gpt4 key购买 nike

我在 Flutter 应用程序中遇到了问题。即使 Scaffold 有 ,键盘也会向上推模态底片。 resizeToAvoidBottomInset 设置为 .我希望模态底部工作表保持在其初始位置。我将向您展示我用于显示模态底部工作表的代码,并附上一个视频来向您展示该错误。

Scaffold(
resizeToAvoidBottomInset: false,
key: _scaffoldKey,
body: ...
)

showModalBottomSheet(
context: context,
isScrollControlled: true,
backgroundColor: Colors.transparent,
builder: (context) => Container(
height: MediaQuery.of(context).size.height * 0.8,
decoration: new BoxDecoration(
color: Colors.white,
borderRadius: new BorderRadius.only(
topLeft: const Radius.circular(25.0),
topRight: const Radius.circular(25.0),
),
),
child: SearchPlace((place, alreadyExists) {
Navigator.pop(context);
didSelectPlace(place, alreadyExists);
})),
);

希望您能帮帮我,谢谢!

最佳答案

好的,所以我自己找到了解决此问题的方法。
我希望模态底部工作表占据屏幕的 80%,但它总是由键盘插入。
为了解决这个问题,我包裹了主要的 容器 栏目 小部件并添加了一个额外的透明容器,带有 手势检测器 (关闭底部工作表)具有屏幕高度的 20%。之后,我将 Column 包裹在 中SingleChildScrollView .现在一切正常!我在下面添加了一个视频。

showModalBottomSheet(
context: context,
isScrollControlled: true,
backgroundColor: Colors.transparent,
builder: (context) => SingleChildScrollView(
child: Column(children: [
GestureDetector(
onTap: () {
Navigator.pop(context);
},
child: Container(
color: Colors.transparent,
height: MediaQuery.of(context).size.height * 0.2,
),
),
Container(
height: MediaQuery.of(context).size.height * 0.8,
decoration: new BoxDecoration(
color: Colors.white,
borderRadius: new BorderRadius.only(
topLeft: const Radius.circular(25.0),
topRight: const Radius.circular(25.0),
),
),
child: SearchPlace((place, alreadyExists) => {
Navigator.pop(context),
didSelectPlace(place, alreadyExists),
})),
]),
),
);

关于flutter - 键盘将 modalBottomSheet 推出边界,resizeToAvoidBottomInset 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66198165/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com