我可以从头开始创建一个ListTile,使用一个Row,里面有3个children,我们将这些children命名为leading,title和trailing,然后我可以设置mainAxisSize为最小大小,完成;你现在有一个ListTile,它在水平轴上没有尽可能地增长。
考虑以下示例:
class ListTileShort extends StatelessWidget {
const ListTileShort({
super.key,
required this.title,
required this.leading,
required this.trailing,
});
final Widget title;
final Widget leading;
final Widget trailing;
@override
Widget build(BuildContext context) {
return Row(
mainAxisSize: MainAxisSize.min,
children: [leading, title, trailing],
);
}
}
如您所见,ListTileShort正在尝试像内置的ListTile一样运行,但作为首选项尽可能缩小。
但是我不喜欢用Row来模拟ListTile,所以我想,是否可以将内置的ListTile在横轴上强制收缩?
2条答案
按热度按时间2g32fytz1#
你可以用
IntrinsicWidth
Package 你的ListTile
,这会使你的ListTile
成为显示其子节点所需的最小值:快乐编码...
ycggw6v22#
使用
ListTile
删除所有空格的最简单方法之一是使用dense
属性,如下所示另一种方法是使用
visualDensity
属性还有一个属性叫做
minLeadingWidth
。所以,你可以把它变小