Ошибка 'Горизонтальная область просмотра получила неограниченную высоту' в Flutter - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь поместить ExpansionTile с горизонтальным дочерним элементом GridView в контейнер.Смотрите код ниже.Я получаю сообщение об ошибке «Горизонтальный видовой экран задан безграничной высотой».

Я не хочу явно указывать высоту ExpansionTile или GridView, а скорее вычислять ее из виджета Expanded и потомков GridView.

Я попытался установить 'shrinkWrap: true' в GridView, как предлагалось здесь , но безуспешно.Я также попытался обернуть GridView в Flexible на основе этого ответа , который выдает мне ошибку «У детей RenderFlex ненулевое сгибание, но входящие ограничения по высоте не ограничены».

Я думаю, что проблема скак я использую GridView, но я новичок во Flutter и не совсем уверен.Вот мой код:

import 'package:flutter/material.dart';

void main() => runApp(
  MaterialApp(
    home: Scaffold(
      appBar: AppBar(title: Text("Title")),
      body: Column(
        children: <Widget>[
          Expanded(
            flex: 3,
            child: ExpansionTile(
              title: Text("Expandable"),
              children: <Widget>[
                GridView.count(
                  scrollDirection: Axis.horizontal,
                  crossAxisCount: 2,
                  children: <Widget>[
                    RawChip(label: Text("Hello")),
                    RawChip(label: Text("World")),
                  ],
                ),
              ],
            ),
          ),
          Expanded(
            flex: 7,
            child: Container(
              color: Colors.blue
            ),
          ),
        ],
      ),
    ),
  ),
);

1 Ответ

0 голосов
/ 24 января 2019

Вы можете просто добавить ограничение высоты к вашему GridView:

         ExpansionTile(
                        title: Text("Expandable"),
                        children: <Widget>[
                          SizedBox(
                            height: 200.0,
                            child: GridView.count(
                              scrollDirection: Axis.horizontal,
                              crossAxisCount: 2,
                              children: <Widget>[
                                RawChip(label: Text("Hello")),
                                RawChip(label: Text("World")),
                              ],
                            ),
                          ),
                        ],
                      ),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...