如何从ExpansionTile的标头中删除默认填充

Kir*_*sov 1 dart flutter

默认情况下,ExpansionTile的标头中有16个水平填充,因为它是ListTile并且具有

/// If null, `EdgeInsets.symmetric(horizontal: 16.0)` is used.
    final EdgeInsetsGeometry contentPadding;
Run Code Online (Sandbox Code Playgroud)

所以我们左右有空格 在此处输入图片说明

如何删除它们?

小智 24

所选答案并未完全发挥作用。为了得到正确的结果,你应该:

ListTileTheme(
   contentPadding: EdgeInsets.all(0),
   dense: true,
   horizontalTitleGap: 0.0,
   minLeadingWidth: 0,
   child: ExpansionTile(...)
)
Run Code Online (Sandbox Code Playgroud)

  • 布鲁赫,这也行不通。 (3认同)

Kir*_*sov 5

ListTile使用ListTileTheme设置样式,我们可以像这样为子ListTile添加自己的样式

ListTileTheme(
            contentPadding: EdgeInsets.all(0),
            child: ExpansionTile(...)
)
Run Code Online (Sandbox Code Playgroud)

  • 它只删除左侧的填充 (9认同)
  • 它不会删除垂直填充 (7认同)