首页 > 解决方案 > 不同设备上纵横比的颤动gridview问题

问题描述

我想在 gridview 中有一个固定高度的容器。我正在使用以下代码。它在不同的设备上显示不同的高度。有什么方法可以控制高度,使其在所有设备上看起来都一样。在此处输入图像描述

                            GridView.count(
                              shrinkWrap: true,
                              crossAxisCount: 2,
                              mainAxisSpacing: 0,
                              childAspectRatio:
                                  MediaQuery.of(context).size.width /
                                      (MediaQuery.of(context).size.height / 1),
                              crossAxisSpacing: 8,
                              children: _productData.map((opt) {
                                return _productCard(context, opt, cart);
                              }).toList(),
                            ),

标签: fluttergridview

解决方案


我能够通过使用这里的类来解决这个问题:https ://github.com/flutter/flutter/issues/55290 然后像这样使用它

                            GridView.builder(
                              itemCount: _productData.length,
                              gridDelegate:
                                  SliverGridDelegateWithFixedCrossAxisCountAndFixedHeight(
                                crossAxisCount: 2,
                                crossAxisSpacing: 5,
                                mainAxisSpacing: 5,
                                height: 300.0,
                              ),
                              itemBuilder: (BuildContext ctx, int index) {
                                var opt = _productData[index];
                                return _productCard(context, opt, cart);
                              },
                        ),

推荐阅读