删除小部件之间的间隙

问题描述 投票:0回答:2

我想缩小列表之间的距离,但是它不起作用。我唯一的选择是扩大差距:Sizedbox,spacer,divider

screenshot of my problem

代码:

body: Container(
        child: Column(
          children: <Widget>[
            _mainList(Icon(Icons.cached), "Erste", "21:13 pm"),
            _mainList(Icon(Icons.cached), "Zweite", "21:13 pm"),
            _mainList(Icon(Icons.cached), "Dritte", "21:13 pm"),
            _mainList(Icon(Icons.cached), "Vierte", "21:13 pm"),
          ]
        )
  )

  Widget _mainList(Icon symbol, String name, String time){
    return Padding(
      padding: const EdgeInsets.symmetric(horizontal: 30),
      child: ListTile(
        leading: symbol,
        title: Text(name, textScaleFactor: 1.2),
        trailing: Text(time, textScaleFactor: 1.3),
      ),
    );
  }
flutter dart flutter-layout
2个回答
0
投票

这是因为ListTile拥有自己的Padding。您可以尝试更改PaddingListTile。如果还不够,您应该创建自己的Widget而不使用垂直填充

您始终可以转到ListTile的源代码并对其进行复制和自定义。


0
投票

contentPadding的[ListTile]默认为EdgeInsets.symmetric(horizontal: 16.0)。因此它从顶部到底部都有填充。您可以按如下方式更改它:

ListTile(
  // I made zero padding for this example but you can give anything you want
  contentPadding: EdgeInsets.zero,
  leading: symbol,
  title: Text(name, textScaleFactor: 1.2),
  trailing: Text(time, textScaleFactor: 1.3),
)
© www.soinside.com 2019 - 2024. All rights reserved.