Flutter 颤振-如何实现与父容器具有相同高度的行
我必须创建一个具有以下设计的小部件 我有一个基本的布局为相同的创建如下。下面的代码在一列中Flutter 颤振-如何实现与父容器具有相同高度的行,flutter,flutter-layout,Flutter,Flutter Layout,我必须创建一个具有以下设计的小部件 我有一个基本的布局为相同的创建如下。下面的代码在一列中 Row( mainAxisSize: MainAxisSize.max, children: <Widget>[ /*******Outer Container********/
Row(
mainAxisSize: MainAxisSize.max,
children: <Widget>[
/*******Outer Container********/
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(8)),
border: Border.all(color: Colors.grey, width: 0.5),
),
child: Row(
children: <Widget>[
Container(
padding: EdgeInsets.all(8),
child: Row(
children: <Widget>[
Text("1981-June-01"),
SizedBox(width: 8),
Icon(Icons.calendar_today),
],
),
),
SizedBox(width: 8),
/*******Inner Container********/
Container(
padding: EdgeInsets.all(8),
child: Text("38Yrs"),
decoration: BoxDecoration(
color: Colors.grey,
borderRadius: BorderRadius.all(Radius.circular(8)),
border: Border.all(color: Colors.grey, width: 0.5),
),
),
],
),
)
],
),
行(
mainAxisSize:mainAxisSize.max,
儿童:[
/*******外容器********/
容器(
装饰:盒子装饰(
borderRadius:borderRadius.all(半径圆形(8)),
边框:边框。全部(颜色:颜色。灰色,宽度:0.5),
),
孩子:排(
儿童:[
容器(
填充:边缘设置。全部(8),
孩子:排(
儿童:[
文本(“1981-01年6月”),
尺寸箱(宽度:8),
图标(今天的图标、日历),
],
),
),
尺寸箱(宽度:8),
/*******内胆********/
容器(
填充:边缘设置。全部(8),
儿童:文本(“38岁”),
装饰:盒子装饰(
颜色:颜色。灰色,
borderRadius:borderRadius.all(半径圆形(8)),
边框:边框。全部(颜色:颜色。灰色,宽度:0.5),
),
),
],
),
)
],
),
我得到的结果如下
父容器和包含这两个容器的行的边界之间仍然存在一些不需要的填充。我尝试使用IntrinsicHeight小部件,但UI保持不变。我用IntrinsicHeight小部件包装了外部容器和其中的行。一次一个,两个都在同一时间。但是没有变化
我想做的是移除外部容器和内部容器之间的额外填充,并使内部容器边界/高度与外部容器相同。我错过什么了吗?
非常感谢您的帮助。这是输出图像:
行(
儿童:[
/*******外容器********/
容器(
装饰:盒子装饰(
borderRadius:borderRadius.all(半径圆形(8)),
边框:边框。全部(颜色:颜色。灰色,宽度:0.5),
),
孩子:排(
儿童:[
容器(
//填充:边缘设置。全部(8),
孩子:排(
儿童:[
文本(“1981-01年6月”),
尺寸箱(宽度:8),
图标(Icons.calendar_,尺寸:15),
],
),
),
尺寸箱(宽度:8),
/*******内胆********/
容器(
填充:边缘设置。全部(8),
儿童:文本(“38岁”),
装饰:盒子装饰(
颜色:颜色。灰色,
borderRadius:仅限borderRadius(
右上角:半径。圆形(8),
右下角:半径。圆形(8)),
//border:border.fromBorderSide(BorderSide.none),
),
),
],
),
)
],
),
这是输出图像:
行(
儿童:[
/*******外容器********/
容器(
装饰:盒子装饰(
borderRadius:borderRadius.all(半径圆形(8)),
边框:边框。全部(颜色:颜色。灰色,宽度:0.5),
),
孩子:排(
儿童:[
容器(
//填充:边缘设置。全部(8),
孩子:排(
儿童:[
文本(“1981-01年6月”),
尺寸箱(宽度:8),
图标(Icons.calendar_,尺寸:15),
],
),
),
尺寸箱(宽度:8),
/*******内胆********/
容器(
填充:边缘设置。全部(8),
儿童:文本(“38岁”),
装饰:盒子装饰(
颜色:颜色。灰色,
borderRadius:仅限borderRadius(
右上角:半径。圆形(8),
右下角:半径。圆形(8)),
//border:border.fromBorderSide(BorderSide.none),
),
),
],
),
)
],
),
根据@pskink在问题注释中的规定,更简单的答案是将行替换为以下代码(从@pskink在问题注释中复制)
材料(
海拔:0,
形状:圆形矩形边框(
边界半径:边界半径。圆形(5),
边:边框边(颜色:颜色(0xFFDDDD),宽度:1)),
clipBehavior:Clip.antiAlias,
孩子:排(
mainAxisSize:mainAxisSize.min,
儿童:[
尺寸箱(宽度:8),
文本(“1981-6-01”,样式:dateTextStyle),
Row(
children: <Widget>[
/*******Outer Container********/
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(8)),
border: Border.all(color: Colors.grey, width: 0.5),
),
child: Row(
children: <Widget>[
Container(
//padding: EdgeInsets.all(8),
child: Row(
children: <Widget>[
Text(" 1981-June-01"),
SizedBox(width: 8),
Icon(Icons.calendar_today, size: 15),
],
),
),
SizedBox(width: 8),
/*******Inner Container********/
Container(
padding: EdgeInsets.all(8),
child: Text("38Yrs"),
decoration: BoxDecoration(
color: Colors.grey,
borderRadius: BorderRadius.only(
topRight: Radius.circular(8),
bottomRight: Radius.circular(8)),
// border: Border.fromBorderSide(BorderSide.none),
),
),
],
),
)
],
),
Material(
elevation: 0,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(5),
side: BorderSide(color: Color(0xFFDDDDDD), width: 1)),
clipBehavior: Clip.antiAlias,
child: Row(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
SizedBox(width: 8),
Text("1981-June-01", style: dateTextStyle),
SizedBox(width: 8),
Image.asset(
"assets/images/widgetImages/calendar.png",
width: 15,
height: 15,
),
SizedBox(width: 8),
Container(
padding: EdgeInsets.symmetric(horizontal: 8, vertical: 12),
child: Text(
"38Yrs",
style: dateTextStyle,
),
color: Color(0xFFEEEEEE),
),
],
),
),