首页 > 解决方案 > 如何在 Flutter ListTile 中设置前导和标题之间的填充?

问题描述

我有一个折衷的解决方案,但我不满意。

final int padding=10; //the padding you wanna set.
ListTile(
    leading: Icon(icon),
    title:  Container(
                  height: 30,
                  child: Stack(
                    alignment: Alignment.centerLeft,
                    overflow: Overflow.visible,
                    children: <Widget>[
                      Positioned(
                        child: title,
                        left: padding-35,
                      ),
                    ],
                  ),
                ),
 );

是的。您可以使用负边距。这绝对有效。但它并不完美。所以有人能提供更好的解决方案吗?

========= 附加 ===========

我在下面看到了一些答案。但您似乎没有得到我的观点。

Flutter ListTile 中的前导和标题之间的默认填充对我来说太大了。我想自己调整填充。并且仅用 Padding 小部件包装标题无法达到目标。

========= 我找到了一个更好的解决方案 ===========

final int padding = 10; //the padding you wanna set.
ListTile(
  leading: Icon(icon),
  title: Container(
    transform: Matrix4.translationValues(padding - 35, 0.0, 0.0),
    child: title,
  ),
);

标签: flutter

解决方案


使用 Padding 小部件,如:

                ListTile(
                  leading: Icon(Icons.location_on),
                  title: Padding(
                    // change left : 
                    padding: const EdgeInsets.only(left: 30),
                    child: Text('hello world'),
                  ),
                ),


推荐阅读