我有一个妥协的解决方案,在这个解决方案之下,我不满意。
final int padding=10; //the padding you wanna set.
ListTile(
leading: Icon(icon),
title: Container(
height: 30,
child: Stack(
alignment: Alignment.centerLeft,
overflow: Overflow.visible,
children: <Widget>[
Positioned(
child: title,
left: padding-35,
),
],
),
),
);
是的。您可以使用负边距。这肯定有效。但这不是完美的。那么有人可以提供更好的解决方案吗?
==========其他=========
我在下面看到了一些答案。但是看来您没有理解我的观点。
Flutter ListTile中开头和标题之间的默认填充对我来说太大了。我想自己调整填充。仅用Padding小部件包装标题无法实现目标。
=========我找到了更好的解决方案===========
final int padding = 10; //the padding you wanna set.
ListTile(
leading: Icon(icon),
title: Container(
transform: Matrix4.translationValues(padding - 35, 0.0, 0.0),
child: title,
),
);
答案 0 :(得分:0)
使用填充小部件,如:
ListTile(
leading: Icon(Icons.location_on),
title: Padding(
// change left :
padding: const EdgeInsets.only(left: 30),
child: Text('hello world'),
),
),
答案 1 :(得分:0)
您可以为此在标题小部件中添加填充。
将代码替换为:
final double padding=10; //the padding you wanna set.
ListTile(
leading: Icon(icon),
title: Padding(
padding: const EdgeInsets.all(padding),
child:Container(
height: 30,
child: Stack(
alignment: Alignment.centerLeft,
overflow: Overflow.visible,
children: <Widget>[
Positioned(
child: title,
left: padding-35,
),
],
),
),
),
);