Изменение вертикального заполнения дочерних элементов ExpansionTile по умолчанию Flutter - PullRequest
2 голосов
/ 25 мая 2020

Как уменьшить вертикальное заполнение между дочерними элементами ExpansionTile:


enter image description here

Вот код встроенного виджета:

Expanded(
    child: ListView(
        padding: EdgeInsets.all(0.0) ,
        primary: true,
        shrinkWrap: true,
        children: <Widget>[
            ExpansionTile(
                title: Text("Categories"),
                children: [
                    CheckboxListTile(
                        controlAffinity: ListTileControlAffinity.trailing,
                        title: Text( "Cars", maxLines: 1, ),
                      ),
                    CheckboxListTile(
                        controlAffinity: ListTileControlAffinity.trailing,
                        title: Text("Veichle", maxLines: 1, ),
                      ),
                    ],
                initiallyExpanded: true,
                ),
        ],
    ),
),

1 Ответ

2 голосов
/ 27 мая 2020

Добавляя A ListTileTheme перед каждым ExpansionTile и создавая dense: true,
, он сделает Padding больше "Reasonable"

Expanded(
    child: ListView(
        padding: EdgeInsets.all(0.0) ,
        primary: true,
        shrinkWrap: true,
        children: <Widget>[
           ListTileTheme(
           dense: true,
           child: ExpansionTile(
                title: Text("Categories"),
                children: [
                    CheckboxListTile(
                        controlAffinity: ListTileControlAffinity.trailing,
                        title: Text( "Cars", maxLines: 1, ),
                      ),
                    CheckboxListTile(
                        controlAffinity: ListTileControlAffinity.trailing,
                        title: Text("Veichle", maxLines: 1, ),
                      ),
                    ],
                initiallyExpanded: true,
                ),
          ),
        ],
    ),
)
...