Flutter: BoxConstraints вызывает бесконечную высоту, вызванную виджетом строки - PullRequest
0 голосов
/ 09 апреля 2020

О, что за кошмар эти BoxConstraints, пожалуйста, повышайте мою квалификацию в любом случае.

List<Chip> chipList = List.generate(toolsProvidedList.length, (index) {
  return Chip(
    label: SizedBox(height: 20.0, child: Text(toolsProvidedList[index]) ),
  );
});

  toolsProvided = Row(
    crossAxisAlignment: CrossAxisAlignment.stretch,
    mainAxisSize: MainAxisSize.min,
    children: chipList,
  );

Я пытался обернуть текстовый дочерний элемент моего chipList в гибкий, расширенный SizedBox, ни один из них не сработал , Вы можете видеть, что я использовал MainAxisSize.min в виджете Row. Это не сработало.

Ряд должен иметь известную высоту, как я могу это дать? Я не знаю, сколько там может быть фишек, тогда они могут go через ряд, надеюсь, обернуться.

Ответы [ 2 ]

1 голос
/ 10 апреля 2020

Я не совсем уверен, что не понимаю, что вам нужно ...

Но попробуйте это, чтобы увидеть, поможет ли это

(удалите ваш Row виджет и замените его с Wrap)

var toolsProvided = Container(
    child: Wrap(
      direction: Axis.horizontal,
      children: chipList
));

Добавление изображения или лучшего описания поможет.

0 голосов
/ 10 апреля 2020

РЕШИТЬ! Это список элементов, так что интуитивно нужно достать ListView (doh). Но он снова пожаловался на Границы. Я думаю, что UI, возможно, один из самых хитрых кусочков Flutter.

Вот полный исправленный и рабочий фрагмент.

  Widget toolsProvided = Flexible( child: ListView(
    children: List.generate(toolsProvidedList.length, (index) {
      return Chip(
        label: SizedBox(height: 20.0, child: Text(toolsProvidedList[index]) ),
      );
    }),
  ));

Счастливые дни:)

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