[英]How to set the padding between leading and title from Flutter ListTile?
我有一个折衷的解决方案,但不能满足我。
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,
),
);
使用 Padding 小部件,例如:
ListTile(
leading: Icon(Icons.location_on),
title: Padding(
// change left :
padding: const EdgeInsets.only(left: 30),
child: Text('hello world'),
),
),
您可以为此向标题小部件添加填充。
将您的代码替换为:
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,
),
],
),
),
),
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.