请给我帮助。 如何从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),
),
),),
谢谢!。对不起,我的英语不好
答案 0 :(得分:7)
在您的代码中,在列表磁贴中放置属性density = true
ListTile(
dense:true,
contentPadding: EdgeInsets.only(left: 0.0, right: 0.0),
title: Text(
'Home',
style: TextStyle(fontSize: 15.0),
),
),
希望有帮助!
答案 1 :(得分:6)
您可以使用visualDensity
属性来减小空间。
ListTile(
visualDensity: VisualDensity(horizontal: 0, vertical: -4),
title: Text("xyz")
);
可以从visualDensity
更改-4.0 to 4.0
的值。降低值,使视图更紧凑。
P.S。此解决方案类似于其他question
此问题与top/bottom
间距有关。但是other question是关于leading
和title
答案 2 :(得分:2)
ListTile(
dense: true,
contentPadding: EdgeInsets.symmetric(horizontal: 0.0, vertical: 0.0),
visualDensity: VisualDensity(horizontal: 0, vertical: -4),
);
以上解决方案对我有用。我希望,这也能帮助你。感谢您提出这个问题。
答案 3 :(得分:1)
尝试一下
brew install idris
答案 4 :(得分:1)
在您的dense:true
属性中实施这一ListTile
,密集参数使文本变小并将所有内容打包在一起。
您可以通过设置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),),
);
答案 5 :(得分:1)
让我们尝试更短的方式:
ListTile(
contentPadding: EdgeInsets.zero,
dense: true,
title: Text('label'),
);
答案 6 :(得分:0)
使用ListTile是不可能的。借助ListTileTheme,可以进行一些修改,例如颜色,它们也是修改填充的选项,但仅适用于左右填充。更好的方法是创建自己的自定义图块,例如他的答案中显示的@santosh。 您也可以使用SizedBox,但它可能导致悲惨的输出。
答案 7 :(得分:0)
对我来说,填充小部件代替了ListTile。可以根据您对ListItem的要求更新padding变量。
Padding(
padding: const EdgeInsets.only(left : 8.0 , right 8.0),
child: Text("List Item Text",
style: Theme.of(context).textTheme.body1))
答案 8 :(得分:0)
在ListTile中对我有用:
visualDensity: VisualDensity(horizontal: 0, vertical: -4)