Flutter 如何使用tabview制作容器&;listview占用底部的空间

Flutter 如何使用tabview制作容器&;listview占用底部的空间,flutter,dart,flutter-layout,Flutter,Dart,Flutter Layout,我已经实现了由两个选项卡组成的选项卡布局,每个选项卡视图都有一个listview,带有tabview和listview的容器应该占据到底部的空间,现在我将静态值设置为400,因此listview最多只显示400,我需要列表视图显示到底部。你能帮我修一下吗 Widget build(BuildContext context) { return Container( child: Column( children: <Widget>[

我已经实现了由两个选项卡组成的选项卡布局,每个选项卡视图都有一个listview,带有tabview和listview的容器应该占据到底部的空间,现在我将静态值设置为400,因此listview最多只显示400,我需要列表视图显示到底部。你能帮我修一下吗

Widget build(BuildContext context) {
    return Container(
      child: Column(
        children: <Widget>[
          Padding(
            padding: const EdgeInsets.only(left:20.0,right:20.0),
            child: Container(
              color: Colors.white,
              child: new TabBar(
                controller: _controller,
                labelColor: Colors.deepOrange,
                tabs: [
                  new Tab(
                    icon: const Icon(Icons.description),
                    text: 'ABC',
                  ),
                  new Tab(
                    icon: const Icon(Icons.assignment),
                    text: 'XYZ',
                  ),
                ],
              ),
            ),
          ),
          Padding(
            padding: const EdgeInsets.only(left:20.0,right:20.0),
            child: Container(
              color: Colors.white,
              height: 400.0,
              child: new TabBarView(
                controller: _controller,
                children: <Widget>[
                  ListView(
                    children: <Widget>[
                      ListTile(
                        title: Text('Sun'),
                      ),
                      ListTile(
                        title: Text('Moon'),
                      ),
                      ListTile(
                        title: Text('Star'),
                      ),
                    ],
                  ),
                  ListView(
                    children: <Widget>[
                      ListTile(
                        title: Text('Sun'),
                      ),
                      ListTile(
                        title: Text('Moon'),
                      ),
                      ListTile(
                        title: Text('Star'),
                      ),
                    ],
                  ),
                ],
              ),
            ),
          ),
        ],
      ),
    );
  }
小部件构建(构建上下文){
返回容器(
子:列(
儿童:[
填充物(
填充:仅限常量边集(左:20.0,右:20.0),
子:容器(
颜色:颜色,白色,
孩子:新的TabBar(
控制器:_控制器,
labelColor:Colors.deepOrange,
选项卡:[
新标签(
图标:常量图标(图标.说明),
文本:“ABC”,
),
新标签(
图标:常量图标(Icons.assignment),
文本:“XYZ”,
),
],
),
),
),
填充物(
填充:仅限常量边集(左:20.0,右:20.0),
子:容器(
颜色:颜色,白色,
高度:400.0,
子项:新选项卡视图(
控制器:_控制器,
儿童:[
列表视图(
儿童:[
列表砖(
标题:文本(“Sun”),
),
列表砖(
标题:文本(“月亮”),
),
列表砖(
标题:文本(‘星’),
),
],
),
列表视图(
儿童:[
列表砖(
标题:文本(“Sun”),
),
列表砖(
标题:文本(“月亮”),
),
列表砖(
标题:文本(‘星’),
),
],
),
],
),
),
),
],
),
);
}

我使用了
扩展的
Flex
小部件解决了这个问题

@override
  Widget build(BuildContext context) {
    return Container(
      child: Column(
        children: <Widget>[
          Expanded(
            child: Padding(
              padding: const EdgeInsets.only(left:20.0,right:20.0),
              child: Container(
                color: Colors.white,
                child: new TabBar(
                  controller: _controller,
                  labelColor: Colors.deepOrange,
                  tabs: [
                    new Tab(
                      icon: const Icon(Icons.description),
                      text: 'Current Openings',
                    ),
                    new Tab(
                      icon: const Icon(Icons.assignment),
                      text: 'Applied Jobs',
                    ),
                  ],
                ),
              ),
            ),
            flex: 1,
          ),
          Expanded(
            child: Padding(
              padding: const EdgeInsets.only(left:20.0,right:20.0,bottom: 10.0),
              child: Container(
                color: Colors.white,
                child: new TabBarView(
                  controller: _controller,
                  children: <Widget>[
                   ListView(
                      children: <Widget>[
                        ListTile(
                          title: Text('Sun'),
                        ),
                      ],
                    ),
                    ListView(
                      children: <Widget>[
                        ListTile(
                          title: Text('Sun'),
                        ),
                      ],
                    ),
                  ],
                ),
              ),
            ),
            flex: 9,
          ),
        ],
      ),
    );
  }
@覆盖
小部件构建(构建上下文){
返回容器(
子:列(
儿童:[
扩大(
孩子:填充(
填充:仅限常量边集(左:20.0,右:20.0),
子:容器(
颜色:颜色,白色,
孩子:新的TabBar(
控制器:_控制器,
labelColor:Colors.deepOrange,
选项卡:[
新标签(
图标:常量图标(图标.说明),
文本:“当前空缺”,
),
新标签(
图标:常量图标(Icons.assignment),
文本:“应用作业”,
),
],
),
),
),
弹性:1,
),
扩大(
孩子:填充(
填充:仅限常量边集(左:20.0,右:20.0,下:10.0),
子:容器(
颜色:颜色,白色,
子项:新选项卡视图(
控制器:_控制器,
儿童:[
列表视图(
儿童:[
列表砖(
标题:文本(“Sun”),
),
],
),
列表视图(
儿童:[
列表砖(
标题:文本(“Sun”),
),
],
),
],
),
),
),
弹性:9,
),
],
),
);
}