flutter - 如何将 Row 内的容器拉伸到最大可用高度?
问题描述
我有一个 Row 小部件,它有许多不同高度的容器,具体取决于它们的内容。我希望它们的高度相同。我怎样才能在不硬编码它们的值的情况下实现这一点?
但我希望第一张卡自动获取行的高度。这样两张卡的高度相同。我怎样才能做到这一点?
这是卡片容器的代码:
Widget build(BuildContext context) {
final statusMap = statusOptionView();
return Container(
width: 200,
margin: EdgeInsets.only(right: 20.0),
child: Stack(
children: <Widget>[
Container(
padding: EdgeInsets.only(
left: 20.0, right: 20.0, top: 20.0, bottom: 50.0),
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(20.0)),
color: Color(0xFFF97F8B),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Row(
children: <Widget>[
Icon(
Icons.access_time,
color: Colors.white,
),
SizedBox(width: 4.0),
Text(
event.startTime,
style: TextStyle(
color: Colors.white,
),
)
],
),
SizedBox(
height: 20.0,
),
Text(
event.title,
style: TextStyle(
fontWeight: FontWeight.w600,
fontSize: 20.0,
color: Colors.white,
),
maxLines: 2,
),
SizedBox(
height: 20.0,
),
Row(
children: <Widget>[
Icon(
Icons.location_on,
color: Colors.white,
),
SizedBox(
width: 4.0,
),
Expanded(
child: Text(
event.venue,
style: TextStyle(
color: Colors.white,
),
maxLines: 1,
overflow: TextOverflow.ellipsis,
),
)
],
),
],
),
),
Positioned(
bottom: 0.0,
right: 0.0,
left: 0.0,
child: GestureDetector(
onTap: () => Navigator.push(context, MaterialPageRoute(
builder: (BuildContext context) => EventDetailsScreen(event: event, status: status))),
child: Container(
padding: EdgeInsets.symmetric(vertical: 8.0),
decoration: BoxDecoration(
color: Colors.purple,
borderRadius: BorderRadius.circular(30.0)),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Icon(
statusMap['icon'],
color: Colors.white,
size: 16.0,
),
SizedBox(
width: 10.0,
),
Text(
statusMap['value'],
style: TextStyle(
color: Colors.white,
),
),
],
),
),
),
)
],
),
);
当它被包裹在一个 Row 小部件中时,就像这样:
Row(
children: <Widget>[...events.map((event) => EventCard(event: event)).toList()],
)
解决方案
用作包含IntrinsicHeight
的父级Row
Card
推荐阅读
- sql - How to select a sql string parameter as an original value with multi lines
- android - Using Constraint Layout for Custom views
- python - Storing a function call in a Django model
- ios - 动画 UIImageView 高度约束空白
- hyperledger-fabric - 超级账本结构分布式存储所需的建议
- scala - 在 scala 应用程序中缓存 Cassandra 表
- ios - iOS - 如何从公共存储中下载所需的 .mov(H.264 AVC) 间隔(保存在手机上,例如仅从 53 秒到 60 秒)
- react-native - React Native InjectJavaScript
- json - 格式化子对象
- python - Pandas 数据框列从其他列中选择值