Flutter ExpansionTile子级作为Gridview?

时间:2018-11-28 11:39:35

标签: dictionary gridview flutter

是否可以将Flutter ExpansionTile子级用作Gridview? 目前,我正在使用此代码获取ListView。

children : myData.map((data) {return MyWidget()}).toList()

我希望ExpensionTile子级作为GridView而不是ListView。我正在制作一个ExpenseionTile为Category的购物应用程序,我希望子类为GridView。

1 个答案:

答案 0 :(得分:2)

这是我的尝试:

SingleChildScrollView(
          child: Column(children: <Widget>[
            ExpansionTile(title: Text("Category 1"), children: <Widget>[
              GridView.count(
                  shrinkWrap: true,
                  physics: ClampingScrollPhysics(),
                  crossAxisCount: 2,
                  padding: const EdgeInsets.all(20.0),
                  crossAxisSpacing: 10.0,
                  childAspectRatio: MediaQuery.of(context).size.width /
                      (MediaQuery.of(context).size.height / 4),
                  children: <Widget>[
                    Text("SubCategory 1"),
                    Text("SubCategory 2"),
                    Text("SubCategory 3"),
                    Text("SubCategory 4"),
                    Text("SubCategory 5"),
                    Text("SubCategory 6"),
                  ])
            ]),
            ExpansionTile(title: Text("Category 2"), children: <Widget>[
              GridView.count(
                  shrinkWrap: true,
                  physics: ClampingScrollPhysics(),
                  crossAxisCount: 2,
                  padding: const EdgeInsets.all(20.0),
                  crossAxisSpacing: 10.0,
                  childAspectRatio: MediaQuery.of(context).size.width /
                      (MediaQuery.of(context).size.height / 4),
                  children: <Widget>[
                    Text("SubCategory 1"),
                    Text("SubCategory 2"),
                    Text("SubCategory 3"),
                    Text("SubCategory 4"),
                    Text("SubCategory 5"),
                    Text("SubCategory 6"),
                  ])
            ]),
            ExpansionTile(title: Text("Category 3"), children: <Widget>[
              GridView.count(
                  shrinkWrap: true,
                  physics: ClampingScrollPhysics(),
                  crossAxisCount: 2,
                  padding: const EdgeInsets.all(20.0),
                  crossAxisSpacing: 10.0,
                  childAspectRatio: MediaQuery.of(context).size.width /
                      (MediaQuery.of(context).size.height / 4),
                  children: <Widget>[
                    Text("SubCategory 1"),
                    Text("SubCategory 2"),
                    Text("SubCategory 3"),
                    Text("SubCategory 4"),
                    Text("SubCategory 5"),
                    Text("SubCategory 6"),
                  ])
            ])
          ]),
        )

AppDemo