消除小部件之间的间隙

时间:2020-02-20 12:54:47

标签: flutter dart flutter-layout

我想缩小列表之间的距离,但是它不起作用。我唯一的选择就是扩大差距: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),
      ),
    );
  }

4 个答案:

答案 0 :(得分:1)

class MyWidget extends StatelessWidget {
  final List<String> _names = ["Erste","Zweite","Dritte","Vierte"];
  final List<String> _dates = ["21:13 pm","21:13 pm","21:13 pm","21:13 pm"];
  @override
  Widget build(BuildContext context) {
    return Container(
        child: ListView.builder(
          shrinkWrap: true,
          itemBuilder: (BuildContext context, int index){
            return ListTile(
            contentPadding: EdgeInsets.symmetric(vertical:0.0),
            title: Text(_names[index]),
            leading: Icon(Icons.cached),
            trailing: Text(_dates[index]),
            );
          }
        )
    );
  }
}

答案 1 :(得分:0)

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

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

答案 2 :(得分: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),
)

答案 3 :(得分:0)

我找到了解决方法(有点)。只需添加:

密集:是

在ListTile()里面,它会稍微缩小差距,但这就是我现在能做的。如果有人有,我将继续寻找更好的解决方案。

相关问题