【发布时间】:2020-10-29 21:27:17
【问题描述】:
我有两个基本相同的小部件,除了它们的颜色。它们是列表视图构建器中的列表图块。有一个检查显示为灰色或红色。唯一要更改的属性是颜色。我知道有 copyWith() 函数,但在这种情况下似乎不能使用。 如何重复使用以下小部件?
Widget listTile = Padding(
padding: const EdgeInsets.all(8.0),
child: Container(
padding: EdgeInsets.symmetric(horizontal: 8),
decoration: BoxDecoration(
color: Colors.grey[300],
borderRadius: BorderRadius.circular(12),
),
child: Padding(
padding: const EdgeInsets.fromLTRB(0, 0, 8.0, 0),
child: ListTile(
title: Text(
message.title),
subtitle: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(message.name),
Row(
children: <Widget>[
Icon(
Icons.alarm_on,
color: Colors.redAccent,
size: 16,
),
Text(message.time),
],
)
],
),
),
),
),
);
【问题讨论】:
-
您可以编写自己的小部件并将颜色作为参数传递吗?