Размерный блок и отступы для расстояний в столбцах и строках - PullRequest
0 голосов
/ 06 июня 2018

Есть ли разница в производительности между SizedBox и Padding при применении расстояния внутри столбца и строки.

Вот пример:

        child: Column(
          children: <Widget>[
            SizedBox(
              height: 30.0,
            ),
            ProfileAvatar(
              photoUrl: vo.photoUrl,
              height: 90.0,
            ),

или это

        child: Column(
          children: <Widget>[
            Padding(
              padding: EdgeInsets.only(top: 30.0),
            ),
            ProfileAvatar(
              photoUrl: vo.photoUrl,
              height: 90.0,
            ),

Какой из них должен быть предпочтительным или рекомендованным командой флаттера?

Ответы [ 2 ]

0 голосов
/ 21 июня 2019

Как сказал Реми, в вашем случае это не имеет значения, но если вы решите отрегулировать только одно или сочетание смещений влево, вправо, сверху или снизу, тогда перенос виджета с помощью Padding имеет больше смысла.

Заполнение вставляет его дочерний элемент (добавляет пустое пространство к краям своего дочернего элемента без расширения дочернего элемента).

SizedBox создает блок фиксированного размера, и его дочерний элемент расширяется до указанных ширины и высоты.

0 голосов
/ 06 июня 2018

SizedBox победа.Поскольку он только накладывает ограничения на своего ребенка.

Но, учитывая, что у них обоих нет ребенка, они делают одно и то же буквально.Максимум разницы у вас будет наносекундный. Это особенно верно, если учесть, что оба синтаксиса в вашем примере будут созданы как «const».Что прервет следующую перестройку.

Используйте то, что вам больше подходит.Выгода настолько минимальна, что вы никогда не заметите разницу.Так что бери, что понятнее

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