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>[]
),
)