在最近的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--一个容器,当点击时,它可以成长为充满屏幕以显示新内容。类似于Hero widget。
你无法调整大小 openBuilder
方法中 OpenContainer
小部件。
因为它将你的小容器转换为一个完整的视图页面,如果你想在点击搜索按钮后获得一个较小尺寸的小部件,你应该使用 "小部件"。animatedBuilder
并制作自己的动画