flutter - OpenContainer Flutter:如何设置打开容器的大小,默认是全屏打开
问题描述
在最近的 Flutter 版本中,有一个新功能 Open Container,这里是片段,如何设置 openContainer 的大小,closedbuilder 是在其范围内接受和渲染,但 open builder 是全屏大小。
OpenContainer(
openElevation: 0,
closedElevation: 0,
closedColor: Colors.transparent,
transitionType: ContainerTransitionType.fadeThrough,
openBuilder: (BuildContext context, VoidCallback _) {
return SizedBox( height:240,
width:MediaQuery.of(context).size.width
child:SearchWidget());
},
closedBuilder:
(BuildContext context, VoidCallback openContainer) {
return Container(
height: 50
width: 50
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
const Icon(Icons.search),
const Text('Search', style: TextStyle(fontSize: 12))
],
),
解决方案
OpenContainer – 一种容器,它会在点击时填充屏幕以显示新内容。类似于英雄小部件。
您无法调整Widget中的openBuilder
方法。OpenContainer
因为如果您在单击搜索按钮后想要一个更小尺寸的小部件,它会将您的小容器转换为一个完整的视图页面,您应该使用animatedBuilder
并制作自己的动画
推荐阅读
- c++ - 如何在每 3 次点击中实现 2 以返回 true?
- php - WordPress 未通过多个 MySQL 连接连接到文件中的数据库
- ios - nib 中的单元重用标识符与标识符不匹配
- reactjs - 当服务器返回 gzip 文件时,如何下载文件以做出反应?
- javascript - 如何在正确的时间和星期几切换 div
- javascript - Bot Framework 使用空内容更新 Teams 活动
- intellij-idea - 什么是“尽可能使用模块目标 JDK 中的编译器”选项?
- node.js - 使用 node.js 从 FastAPI 服务器获取数据
- firebase - 如何仅存储日期,而不是日期时间
- python - 处理数据集中的 NaN 值以进行关键点坐标检测