How to remove top and bottom default padding of Expansion tile for leading widget flutter

Viewed 713

enter image description here

  1. need to remove padding to the list item of expansion tile widget please find the image for actual result . Expected result should remove the top bottom space

here is the code can anyone help me:

Theme(
      data: theme,
      child: ListTileTheme(
        contentPadding: EdgeInsets.all(0),
        dense: true,
        child: ExpansionTile(
          title: Row(
            mainAxisAlignment: MainAxisAlignment.start,
            children: [
              GFCheckbox(
                inactiveBgColor: kColorPrimaryDark,
                inactiveBorderColor: Colors.white,
                customBgColor: kColorPrimaryDark,
                size: 15,
                activeIcon: const Icon(
                  Icons.check,
                  size: 15,
                  color: Colors.white,
                ),
                activeBgColor: kColorPrimaryDark,
                onChanged: (value) {
                  setState(() {
                    isChecked = value;
                  });
                },
                value: isChecked,
                inactiveIcon: null,
              ),
              SizedBox(
                width: 5,
              ),
              textWidget(color: Colors.white, size: 12, text: root.title),
            ],
          ),
          key: PageStorageKey<DataList>(root),
          children: root.children.map(_buildTiles).toList(),
        ),
      ),
    );
3 Answers

Try below code add childrenPadding and tilePadding

  ExpansionTile(
      childrenPadding: EdgeInsets.zero,
      tilePadding: EdgeInsets.zero,
   ),

Try to use MediaQuery.removePadding

MediaQuery.removePadding(
      removeTop: true,
      removeBottom: true,
      // removeLeft: true,
      // removeRight: true,
      context: context,
      child: ExpansionTile(
        childrenPadding: EdgeInsets.zero,
        tilePadding: EdgeInsets.zero,
      ),
    ),

To remove top and bottom padding for expanded tile use property expandedHeaderPadding of ExpansionPanelList.

ExpansionPanelList(
    expandedHeaderPadding: const EdgeInsets.symmetric(vertical: 0),
    ...
)

Try this,

ListTileTheme(
   contentPadding: EdgeInsets.all(0),
   dense: true,
   horizontalTitleGap: 0.0,
   minLeadingWidth: 0,
   child: ExpansionTile(...)
)
Related