使用GridView - Flutter删除CheckboxListTile中复选框和文本之间的空格

4nkexdtk  于 2023-05-01  发布在  Flutter
关注(0)|答案(1)|浏览(111)

我怎样才能删除Flutter CheckboxListTile中的文本小部件和复选框之间的空格?我想有12个项目,在4行,在每行3人,我有很多未使用的空间(正因为如此,我必须使字体大小变小)。
我试过根据this solution更改CheckboxListTile,但不知道如何使用GridView。
下面是一段完整的代码:

LayoutBuilder(
            builder: (BuildContext context, BoxConstraints constraints) {
              return SizedBox(
                width: constraints.maxWidth * 0.9,
                height: 550,
                child: GridView.count(
                  crossAxisCount: 3,
                  children: List.generate(
                    12,
                    (index) => CheckboxListTile(
                      // contentPadding: EdgeInsets.zero,
                      value: false,
                      title: const Text(
                        "test",
                        style: TextStyle(fontSize: 12),
                      ),
                      onChanged: (newValue) {},
                      controlAffinity: ListTileControlAffinity.leading,
                    ),
                  ),
                ),
              );
            },
          ),

我也不知道为什么行间距这么大,但这是另一个主题。

hfwmuf9z

hfwmuf9z1#

您可以尝试使用childAspectRatio

return GridView.count(
                    crossAxisCount: 3, // display 3 columns

                    shrinkWrap: true,
                    childAspectRatio: 3 / 1,
                    ...

它应该调整每个子部件的宽度和高度比例。
您还可以使用

contentPadding: const EdgeInsets.symmetric(
                            horizontal: 25, vertical: 0)

相关问题