我正在尝试将具有水平GridView子级的ExpansionTile放置在容器中。参见下面的代码。我收到错误消息“水平视口被赋予无限的高度。”
我不想明确指定ExpansionTile或GridView的高度,而是让它根据Expanded小部件和GridView的子代计算得出。
我尝试按照建议的here在GridView中设置'shrinkWrap:true',但没有成功。我还尝试基于this answer将GridView包装到Flexible中,这给我带来了错误:“ RenderFlex子代具有非零的flex,但是传入的高度约束是不受限制的。”
我认为问题出在我如何使用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
),
),
],
),
),
),
);
答案 0 :(得分:2)
您可以在string.replaceAll(",?\"*\":\\", "");
中添加高度限制:
GridView