作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在单击按钮时打开bottomSheet,我希望将其分为三个不同的部分,最后一部分应该是可滚动的。
下面是我的代码,但我溢出了错误
onTap: (){
scaffoldKey.currentState
.showBottomSheet((context) => Container(
height: MediaQuery.of(context).size.height,
color: Colors.red,
child: Column(
children: <Widget>[
Container(
height: 100,
color: Colors.black,
),
Container(
height: 120,
color: Colors.green,
),
Container(
height: MediaQuery.of(context).size.height,
child: SingleChildScrollView(
physics: BouncingScrollPhysics(),
child: Column(
children: <Widget>[
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('1'), <---------I added all
these textfield just
for demo(copy-paste).
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('2'),
SizedBox(height: 10,),
Text('3'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,), Text('1'),
SizedBox(height: 10,),
Text('5'),
SizedBox(height: 10,),
],
),
),
)
],
),
));
},
最佳答案
在您希望可滚动的最后一部分中,将SingleChildScrollView用扩展的小部件而不是容器包装,如下所示:
onTap: (){
scaffoldKey.currentState
.showBottomSheet((context) => Container(
height: MediaQuery.of(context).size.height,
color: Colors.red,
child: Column(
children: <Widget>[
Container(
height: 100,
color: Colors.black,
),
Container(
height: 120,
color: Colors.green,
),
Expanded(
/// I removed the height value you set as that is no longer needed
child: SingleChildScrollView(
physics: BouncingScrollPhysics(),
child: Column(
children: <Widget>[
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('2'),
SizedBox(height: 10,),
Text('3'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,),
Text('1'),
SizedBox(height: 10,), Text('1'),
SizedBox(height: 10,),
Text('5'),
SizedBox(height: 10,),
],
),
),
)
],
),
));
},
关于flutter - 如何使showBottomSheet的特定部分可滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62365668/
尝试在我的应用程序中实现 showBottomSheet,但它引发错误:Scaffold.of() 调用的上下文不包含 Scaffold。 在网上搜索了一下之后,我添加了一个 GlobalKey 但这
想象一下创建一个底部工作表如下: final PersistenBottomSheetController bottomSheetController = showBottomSheet(...);
我在 flutter 中使用 showBottomSheet 来显示持久的底页。如何防止 flutter showBottomSheet 通过向下拖动被解雇? 我在下面添加了我的代码。您可以放置一
我是一名优秀的程序员,十分优秀!