【发布时间】:2019-04-29 03:53:41
【问题描述】:
如何在颤动的卡片中添加新列?
目前,我有 2 列,但不知道如何在它们之间添加第三列,因为它们位于左侧和右侧。当我尝试添加“新列”时,它只会在第一列下创建一个新的文本行。
这是我目前的代码:
Widget _buildListItem(BuildContext context, Record record) {
return Card(
key: ValueKey(record.activityName),
elevation: 8.0,
margin: new EdgeInsets.symmetric(horizontal: 10.0, vertical: 6.0),
child: Container(
decoration: BoxDecoration(color: Color.fromRGBO(64, 75, 96, .9)),
child: ListTile(
contentPadding:
EdgeInsets.symmetric(horizontal: 20.0, vertical: 10.0),
title: Text(
record.activityName,
style: TextStyle(color: Colors.white, fontWeight: FontWeight.bold, fontSize: 23),
),
subtitle: Row(
children: <Widget>[
new Flexible(
child: new Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
RichText(
text: TextSpan(
text: "Activations: "+record.activations+
"\n"+record.dateCompleted,
style: TextStyle(color: Colors.white),
),
maxLines: 2,
softWrap: true,
)
],
)
)
],
),
trailing: Container(
child: Hero(
tag: "avatar_" + record.activityName,
child: CircleAvatar(
radius: 32,
backgroundImage: NetworkImage(record.icon),
backgroundColor: Colors.white,
)
)
),
onTap: () {
Navigator.push(
context, MaterialPageRoute(builder: (context) => new DetailPage(record: record)));
}
),
)
);
}
我想要 3 列,以便我可以在这张卡片的中间添加一张图片。
【问题讨论】:
-
您应该改为添加到
Row孩子。 -
是的,你应该使用 Row 而不是 ListTile 小部件,docs.flutter.io/flutter/widgets/Row-class.html
-
你能给你看UI截图吗?
标签: dart flutter flutter-layout