在 ListTile 中删除或设置填充

Remove or Set Padding in ListTile

我是 Flutter / Dart 的新手,所以如果这是一个菜鸟问题,请原谅。 我试图从“第一个应用程序”示例代码中删除 ListTile 元素文本顶部和底部的 space。 So basically the two areas with the red pointers.

代码看起来像

  return ListTile(
    //dense: true,
    //minVerticalPadding: 1.0,
    //contentPadding: EdgeInsets.symmetric(vertical: 1),
    tileColor: Colors.blue,
    title: Text(
      pair.asPascalCase,
      style: _biggerFont,
    ),
  );

如您所见,我尝试了 dense、minVerticalPadding 和 contentPadding,但 none 成功了。

非常感谢您为我指明了正确的方向!

试一试

ListTile(
    visualDensity: VisualDensity(horizontal: 0, vertical: -4),
    contentPadding: EdgeInsets.all(0),
    tileColor: Colors.blue,
    title: Text(
       "hello"
    ),
),

您可以使用 VisualDensity 属性 设置您的 ListTile 周围的最小填充。 该值不能低于 -4 且高于 +4:

ListTile(
      contentPadding: EdgeInsets.zero,
      dense: true,
      visualDensity: VisualDensity(horizontal: -4, vertical: -4),
      title: Text("hello"),
    )

如果您想保留水平填充,可以使用此代码:

ListTile(
      contentPadding: EdgeInsets.symmetric(vertical: 0, horizontal: 10),
      dense: true,
      visualDensity: VisualDensity(horizontal: 0, vertical: -4),
      title: Text("hello"),
    )