Как мне удалить Flutter IconButton большой отступ? - PullRequest
0 голосов
/ 17 мая 2018

Я хочу иметь ряд значков IconButton, расположенных рядом друг с другом, но, похоже, между самим значком и пределами IconButton существует довольно большой отступ.Я уже установил отступ для кнопки на 0.

Это мой компонент, довольно простой:

class ActionButtons extends StatelessWidget {
  @override
    Widget build(BuildContext context) {
      return Container(
        color: Colors.lightBlue,
        margin: const EdgeInsets.all(0.0),
        padding: const EdgeInsets.all(0.0),
        child: Row(
          mainAxisAlignment: MainAxisAlignment.start,
          children: <Widget>[
            IconButton(
              icon: new Icon(ScanrIcons.reg),
              alignment: Alignment.center,
              padding: new EdgeInsets.all(0.0),
              onPressed: () {},
            ),
            IconButton(
              icon: new Icon(Icons.volume_up),
              alignment: Alignment.center,
              padding: new EdgeInsets.all(0.0),
              onPressed: () {},
            )
          ],
        ),
      );
    }
}

enter image description here

Я хочу избавиться от большей части светло-синего пространства, чтобы мои значки начинались раньше слева и ближе друг к другу, но я не могу найти способ изменить размер самой IconButton.

IЯ почти уверен, что это место занято самой кнопкой, потому что, если я изменю их выравнивания на centerRight и centerLeft, они выглядят так:

enter image description here

Уменьшение размера значков также не помогает, кнопка все еще большая:

enter image description here

спасибо за помощь

Ответы [ 2 ]

0 голосов
/ 06 мая 2019

Два способа обойти эту проблему.

Все еще использовать IconButton

Обернуть IconButton внутри контейнера, который имеет ширину.

Например:

Container(
  padding: const EdgeInsets.all(0.0),
  width: 30.0, // you can adjust the width as you need
  child: IconButton(
  ),
),

Использовать GestureDetector вместо IconButton

Вы также можете использовать GestureDetector вместо IconButton, рекомендованного Shyju Madathil.

GestureDetector( onTap: () {}, child: Icon(Icons.volume_up) ) 
0 голосов
/ 18 мая 2018

Это не так много, что там есть отступы.IconButton - это виджет Material Design, который следует спецификации, согласно которой объекты, которые должны быть вставлены, должны иметь размер не менее 48 пикселей на каждой стороне. Вы можете щелкнуть в реализации IconButton из любых IDE.

Вы также можете тривиально взять исходный код icon_button.dart и создать свой собственный IconButton, который не соответствует спецификациям Material Design, поскольку весь файл состоит только из других виджетов и содержит всего 200 строк.в основном комментарии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...