I think the borderWidth can pad the buttons and make it seems like there are spaces between them. Like this:
ToggleButtons(
isSelected: isSelected,
selectedColor: Color.fromARGB(255, 250, 244, 218),
color: Color.fromARGB(255, 195, 162, 65),
fillColor: Colors.transparent,
textStyle: TextStyle(fontSize: 28),
borderWidth: 20,
borderColor: Colors.white,
selectedBorderColor: Colors.white,
splashColor: Colors.transparent,
children: <Widget>[
Container(
padding: const EdgeInsets.symmetric(
horizontal: 30, vertical: 30),
decoration: BoxDecoration(
color: isSelected[0]
? const Color.fromARGB(255, 232, 182, 43)
: const Color.fromARGB(255, 250, 244, 218),
border: Border.all(
color: const Color.fromARGB(255, 232, 182, 43),
),
borderRadius: const BorderRadius.all(
Radius.circular(20),
),
),
child: Icon(Icons.add_circle_outline_outlined),
),
Container(
padding: const EdgeInsets.symmetric(
horizontal: 30, vertical: 30),
decoration: BoxDecoration(
color: isSelected[1]
? const Color.fromARGB(255, 232, 182, 43)
: const Color.fromARGB(255, 250, 244, 218),
border: Border.all(
color: const Color.fromARGB(255, 232, 182, 43),
),
borderRadius: const BorderRadius.all(
Radius.circular(20),
),
),
child: Icon(Icons.add_circle_outline_outlined),
),
Container(
padding: const EdgeInsets.symmetric(
horizontal: 30, vertical: 30),
decoration: BoxDecoration(
color: isSelected[2]
? const Color.fromARGB(255, 232, 182, 43)
: const Color.fromARGB(255, 250, 244, 218),
border: Border.all(
color: const Color.fromARGB(255, 232, 182, 43),
),
borderRadius: const BorderRadius.all(
Radius.circular(20),
),
),
child: Icon(Icons.add_circle_outline_outlined),
),
],
onPressed: (int newIndex) {
setState(() {
for (int index = 0; index < isSelected.length; index++) {
if (index == newIndex) {
isSelected[index] = true;
} else {
isSelected[index] = false;
}
}
});
},
),