【发布时间】:2022-07-20 18:05:25
【问题描述】:
我使用 ExpansionTile Card 小部件来显示订单历史,当你点击这个小部件时,应该会出现额外的信息(但我认为这并不难)。问题是我不知道如何将编辑按钮放置在小部件本身中(在部署之前)。我想像照片中那样做。也许有人知道怎么做???我会感谢我的帮助。这是我的代码(注释的是我尝试制作但没有ExpansionTile卡的代码。但它不适合,因为它给了我一个错误)
我的形象(如我所愿)
图像(现在)
我的代码小部件
_listItemColumn({
required String name,
required String date,
required String status,
required String id,
}) {
return Column(
children: [
Padding(
padding: const EdgeInsets.fromLTRB(
Margins.medium, Margins.tiny, Margins.tiny, Margins.small),
child: ExpansionTileCard(
title: Text(name),
subtitle: Text(date),
trailing: SizedBox.shrink(),
// Row(
// mainAxisAlignment: MainAxisAlignment.center,
// mainAxisSize: MainAxisSize.max,
// children: [
// Expanded(
// child: Column(
// mainAxisAlignment: MainAxisAlignment.end,
// crossAxisAlignment: CrossAxisAlignment.start,
// children: [
// Text(
// name,
// textAlign: TextAlign.start,
// maxLines: 2,
// style: const TextStyle(
// fontSize: FontSize.medium,
// fontWeight: FontWeight.w300,
// ),
// ),
// Container(
// height: Margins.tiny,
// ),
// Text(
// date,
// textAlign: TextAlign.left,
// maxLines: 1,
// style: TextStyle(
// color: Colorz.textGray,
// overflow: TextOverflow.ellipsis,
// fontSize: FontSize.small,
// ),
// ),
// ],
// ),
// ),
// Column(
// mainAxisAlignment: MainAxisAlignment.start,
// crossAxisAlignment: CrossAxisAlignment.end,
// children: [
// Material(
// color: Colorz.white,
// child: InkWrapper(
// splashColor: Colorz.lighterGray,
// child: IconButton(
// alignment: Alignment.center,
// icon: SvgPicture.asset(
// Img.listItemMenu,
// ),
// onPressed: null
// ),
// onTap: () {
// },
// ),
// ),
// Text(
// status,
// textAlign: TextAlign.left,
// maxLines: 1,
// style: TextStyle(
// color: _colorStatus(status),
// overflow: TextOverflow.ellipsis,
// fontSize: FontSize.tiny,
// ),
// ),
// ],
// )
// ],
// ),
),
),
]
);
}
}
也就是说,我可以以某种方式将这段代码添加到标题和副标题中:
Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Material(
color: Colorz.white,
child: InkWrapper(
splashColor: Colorz.lighterGray,
child: IconButton(
alignment: Alignment.center,
icon: SvgPicture.asset(
Img.listItemMenu,
),
onPressed: null
),
onTap: () {
},
),
),
Text(
status,
textAlign: TextAlign.left,
maxLines: 1,
style: TextStyle(
color: _colorStatus(status),
overflow: TextOverflow.ellipsis,
fontSize: FontSize.tiny,
),
),
],
)
【问题讨论】:
-
您可以为此使用
trailing
标签: flutter dart flutter-layout