Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 扑动卡片颜色_Flutter_Flutter Layout - Fatal编程技术网

Flutter 扑动卡片颜色

Flutter 扑动卡片颜色,flutter,flutter-layout,Flutter,Flutter Layout,我想把这张卡片分成几列(扩展的小部件),我面临的问题是:我无法将颜色容器(右列的父项)设置为全高,所以只有部分显示彩色背景 我所拥有的: 我想要什么: 我尝试了颤振检查器工具,并注意到容器及其子列并没有达到完全高度(即使在键入mainAxisSize:mainAxisSize.max之后) 我也尝试使用FractionSize,而不是Expanded。。但不是运气 代码: 导入“包装:颤振/材料.省道”; 类SubjectPage扩展了无状态小部件{ 最终字符串dayStr; 主题页面(

我想把这张卡片分成几列(扩展的小部件),我面临的问题是:我无法将颜色容器(右列的父项)设置为全高,所以只有部分显示彩色背景

我所拥有的:

我想要什么:

  • 我尝试了颤振检查器工具,并注意到容器及其子列并没有达到完全高度(即使在键入mainAxisSize:mainAxisSize.max之后)

  • 我也尝试使用FractionSize,而不是Expanded。。但不是运气

代码:

导入“包装:颤振/材料.省道”;
类SubjectPage扩展了无状态小部件{
最终字符串dayStr;
主题页面(this.dayStr);
@凌驾
小部件构建(构建上下文){
返回填充(
填充:来自LTRB(20.0,40.0,20.0,0)的边缘设置,
子:列(
儿童:[
卡片(
孩子:排(
儿童:[
//第1栏
扩大(
弹性:7,
孩子:填充(
填充:所有边缘设置(20.0),
子:列(
mainAxisSize:mainAxisSize.min,
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
getTitle(“UEC607”),
getSubName(“数据通信和协议”),
GetVince(“E-204”),
],
),
),
),
//第2栏
//我被困的地方//
扩大(
弹性:3,
子:容器(
颜色:颜色,蓝色,
子:列(
mainAxisSize:mainAxisSize.max,
儿童:[
getType(“L”),
getTime(“9:00”),
],
),
),
)
//第2列结束
],
),
)
],
),
);
}
//获取标题小部件
小部件getTitle(字符串标题){
返回填充(
填充:仅限边缘设置(底部:8.0),
子:文本(标题),
);
}
//获取主题名称
小部件getSubName(字符串子名称){
返回填充(
填充:仅限边缘设置(底部:25.0),
子项:文本(子名称),
);
}
//获取场馆名称
Widget GetVincement(字符串地点){
返回填充(
填充:仅限边缘设置(底部:0.0),
儿童:文本(地点),
);
}
小部件getType(字符串类型){
返回填充(
填充:仅限边缘设置(底部:10.0),
子项:文本(类型),
);
}
颜色getColor(字符串类型){
如果(类型=“L”){
返回颜色(0xff74B1E9);
}
}
小部件获取时间(字符串时间){
返回文本(时间);
}
}

设置容器高度

Expanded(
                      flex: 3,
                      child: Container(
                        height: double.infinity,
                        color: Colors.blue,
                        child: Column(
                          mainAxisSize: MainAxisSize.max,
                          children: <Widget>[
                            getType("L"),
                            getTime("9:00"),
                          ],
                        ),
                      ),
                    )
扩展(
弹性:3,
子:容器(
高度:双无限,
颜色:颜色,蓝色,
子:列(
mainAxisSize:mainAxisSize.max,
儿童:[
getType(“L”),
getTime(“9:00”),
],
),
),
)

对于我来说,它有助于确保哪个小部件应该使用固定的空间/大小,哪个应该扩展以适合空间/大小

然后,我使用
构建小部件的布局(这使得在
扩展的
灵活的
小部件中准备和决定在何处包装小部件变得容易)

但这里有一个简短的例子:

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        centerTitle: true,
        title: Text('Stackoverflow'),
      ),

      body: Container(
        margin: EdgeInsets.all(10),

        width: double.infinity,
        height: 100,

        child: Row(
          children: <Widget>[
            // Texts
            Expanded(
              child: Column(
                mainAxisAlignment: MainAxisAlignment.spaceBetween,
                children: <Widget>[
                  // UEC607 & Digital communication text
                  Column(
                    mainAxisAlignment: MainAxisAlignment.spaceBetween,
                    children: <Widget>[
                      Row(
                        mainAxisAlignment: MainAxisAlignment.start,
                        children: <Widget>[
                          Text(
                            'UEC607',                      
                            style: TextStyle(
                              fontSize: 16,
                              fontWeight: FontWeight.bold,
                              color: Colors.grey
                            ),                      
                          ),
                        ],
                      ),
                      SizedBox(
                        height: 5,
                      ),
                      Row(
                        mainAxisAlignment: MainAxisAlignment.start,
                        children: <Widget>[
                          Text(
                            'Digital communication',
                            style: TextStyle(
                              fontSize: 20,                        
                              color: Colors.black
                            ),
                          ),
                        ],
                      )
                    ],
                  ),

                  Expanded(
                    child: Row(
                      mainAxisAlignment: MainAxisAlignment.start,
                      crossAxisAlignment: CrossAxisAlignment.end,
                      children: <Widget>[
                        Text(
                          'E-206',
                          style: TextStyle(
                            fontSize: 18,
                            fontWeight: FontWeight.bold,
                            color: Colors.black
                          ),
                        ),
                      ],
                    ),
                  )
                ],
              ),
            ),

            // Card
            Container(
              width: 90,

              color: Colors.lightBlue.withOpacity(.8),

              child: Column(
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  Text(
                    'L',
                    style: TextStyle(
                      fontSize: 24,
                      fontWeight: FontWeight.bold,
                      color: Colors.white
                    ),
                  ),
                  SizedBox(
                    height: 5,
                  ),
                  Text(
                    '09:00',
                    style: TextStyle(
                      fontSize: 24,
                      fontWeight: FontWeight.bold,
                      color: Colors.white
                    ),
                  ),
                ],
              ),
            )
          ],
        ),
      ),
    );
  }
@覆盖
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:对,
标题:文本(“堆栈溢出”),
),
主体:容器(
保证金:所有(10),
宽度:double.infinity,
身高:100,
孩子:排(
儿童:[
//文本
扩大(
子:列(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
//UEC607&数字通信文本
纵队(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
划船(
mainAxisAlignment:mainAxisAlignment.start,
儿童:[
正文(
“UEC607”,
样式:TextStyle(
尺寸:16,
fontWeight:fontWeight.bold,
颜色:颜色。灰色
),                      
),
],
),
大小盒子(
身高:5,,
),
划船(
mainAxisAlignment:mainAxisAlignment.start,
儿童:[
正文(
“数字通信”,
样式:TextStyle(
尺寸:20,
颜色:颜色。黑色
Expanded(
                  flex: 2,
                  child: FittedBox(
                    child: Container(
                      color: Colors.blue,
                      child: Column(
                        mainAxisSize: MainAxisSize.max,
                        children: <Widget>[
                          getType("L"),
                          getTime("9:00"),
                        ],
                      ),
                    ),
                  ),
                )
IntrinsicHeight(
   child: Row(
      crossAxisAlignment: CrossAxisAlignment.stretch,
      children: <Widget>[]
   ),
)