Flutter «Неправильное использование ParentDataWidget». при использовании просмотра в шахматном порядке ~ @ <a href="https://aztwt3nalf3pix4ufax6njtfcq--stackru-com.translate.goog/cdn-cgi/l/email-protection" rel="nofollow noopener noreferrer" target="_blank">[адрес электронной почты защищен]</a>

                                         @_@

Я думал о том, чтобы виджеты внутри GridView имели разную высоту в соответствии с высотой их динамического содержимого, и эти виджеты являются контейнерами с расширенным столбцом внутри. Но затем он дал мне эту ошибку «Неправильное использование ParentDataWidget».

Виджет выглядит так:

      Container(
      decoration: BoxDecoration(
        color: someColor,
        borderRadius: BorderRadius.circular(17),
      ),
      child: Expanded(
        child: Column(
          children: [
            ClipRRect(
              borderRadius: BorderRadius.circular(17),
              child: AspectRatio(
                aspectRatio: 5 / 3,
                child: Image.network(someImageUrl, fit: BoxFit.cover),
              ),
            ),
            SizedBox(height: 10),
            Text('Group name'),
            Text('Group desc'),
            SizedBox(height: 10),
            Expanded(
              child: Row(
                children: List.generate(
                  _group.popIds.length,
                  (_) => SizedBox(width: 50, height: 50),
                ),
              ),
            ),
            Text('Hello')
          ],
        ),
      ),
    );

И это экран, на котором находятся эти виджеты:

      Scaffold(
          body: Padding(
            padding:
                const EdgeInsets.only(left: 17.0, right: 17.0, top: 50),
            child: StaggeredGridView.countBuilder(
              crossAxisCount: 2,
              mainAxisSpacing: 10,
              crossAxisSpacing: 20,
              itemCount: 50,
              itemBuilder: (context, index) => GroupItem(),
              staggeredTileBuilder: (index) => StaggeredTile.fit(1),
            ),
          ),
        );

И сообщение об ошибке выглядит так:

** Неправильное использование ParentDataWidget.

ParentDataWidget Expanded (flex: 1) хочет применить ParentData типа FlexParentData к RenderObject, который был настроен для приема ParentData несовместимого типа ParentData. **

Может ли какой-нибудь гений помочь мне с этой проблемой, ведь я боролся с ней целый день! ~ @ [Email protected]

1 ответ

Решение

Это потому, что вы используете Expanded внутри контейнера. Развернутый следует использовать только внутри виджетов «Столбец», «Строка» или «Flex».

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

Другие вопросы по тегам