[英]How to Remove space at top and bottom ListTile flutter?
如何从ListTile
中删除空间顶部和底部?
我的代码是:
child: Column(
children: <Widget>[
ListTile(
contentPadding: EdgeInsets.only(left: 0.0, right: 0.0),
title: Text(
'Home',
style: TextStyle(fontSize: 15.0),
),
),
ListTile(
contentPadding: EdgeInsets.only(left: 0.0, right: 0.0),
title: Text(
'Audio',
style:
TextStyle(fontSize: 15.0, color: Colors.black45),
),
),),
截屏:
更新
现在您还可以使用以下属性:
horizontalTitleGap
- 在标题和前导之间minVerticalPadding
- 在标题和副标题之间minLeadingWidth
-前导的最小宽度contentPadding
- 内部填充老的
您可以使用visualDensity
属性来减少空间。
ListTile(
visualDensity: VisualDensity(horizontal: 0, vertical: -4),
title: Text("xyz")
);
visualDensity
值可以从-4.0 to 4.0
。 降低值,视图更紧凑。
PS这个解决方案类似于一个不同的问题
这个问题是关于top/bottom
间距的。 但另一个问题是关于leading
和title
之间的差距
在您的代码中将属性 dense: true 放在列表图块内
ListTile(
dense:true,
contentPadding: EdgeInsets.only(left: 0.0, right: 0.0),
title: Text(
'Home',
style: TextStyle(fontSize: 15.0),
),
),
希望能帮助到你!
ListTile(
dense: true,
contentPadding: EdgeInsets.symmetric(horizontal: 0.0, vertical: 0.0),
visualDensity: VisualDensity(horizontal: 0, vertical: -4),
);
以上解决方案对我有用。 我希望,这也会对你有所帮助。 感谢您提出这个问题。
使用ListTile
是不可能的。 借助ListTileTheme
例如颜色)可以进行一些修改,并且还可以选择修改填充,但仅适用于左右填充。 正如@santosh 在他的回答中显示的那样,创建自己的自定义磁贴更好。 你也可以使用 SizedBox 但它会导致悲剧性的输出。
这在 ListTile 中对我有用:
visualDensity: VisualDensity(horizontal: 0, vertical: -4)
尝试这个
child: Column(
children: <Widget>[
Text(
'Home',
style: TextStyle(fontSize: 15.0),
),
Text(
'Audio',
style:
TextStyle(fontSize: 15.0, color: Colors.black45),
),
),)
在您的ListTile
属性中实现这一点dense:true
,密集参数使文本更小并将所有内容打包在一起。
您可以通过设置contentPadding
来更改内容在左侧和右侧(但不是顶部或底部)的插入量。 默认值为16.0但在这里我们将设置为0.0 :
ListTile(
contentPadding: EdgeInsets.symmetric(vertical: 0.0, horizontal:
0.0),
dense:true,
title: Text("Your title"),
subtitle: Text("subtitle",
style: TextStyle(fontSize: 14.0),),
);
让我们尝试更短的方法:
ListTile(
contentPadding: EdgeInsets.zero,
dense: true,
title: Text('label'),
);
对我来说,代替 ListTile.padding 变量工作的 Padding 小部件可以根据您对 ListItem 的要求进行更新。
Padding(
padding: const EdgeInsets.only(left : 8.0 , right 8.0),
child: Text("List Item Text",
style: Theme.of(context).textTheme.body1))
上述解决方案都不起作用(目前)。 您最好的选择是使用TextButton
并包含一个Row
作为孩子
这对我有用
ListTile(
dense:true,
minVerticalPadding: 0,
contentPadding: EdgeInsets.zero,
visualDensity: VisualDensity(horizontal: 0, vertical: 4),
);
现在我根本没有填充
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.