flutter - Flutter如何删除GridView的顶部空间

标签 flutter dart gridview

我在gridview顶部有一个空间。我试图删除它没有成功。
看起来像这样:

我想要的是:

这是我的代码:

Container(
      margin: EdgeInsets.all(10),
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
      children: <Widget>[
              Text(
                "Check",
                style: TextStyle(color: Colors.black, fontSize: 18, fontWeight: FontWeight.bold),
                textAlign: TextAlign.left,
              ),
              GridView.count(
                physics: NeverScrollableScrollPhysics(),
                shrinkWrap: true,
            crossAxisCount: 1,
            crossAxisSpacing: 2,
            mainAxisSpacing: 10,
            childAspectRatio: 5.1,
            children: <Widget>[
              GestureDetector(
                child: _buildWidget("Car", 0),
                onTap: () => setState(() => _languageIndex = 0),
              ),
              GestureDetector(
                child: _buildWidget("Boat", 1),
                onTap: () => setState(() => _languageIndex = 1),
              ),
            ],
          ),
      ],
    ));

Widget _buildWidget(String language, int index) {
    bool isSelected = _languageIndex == index;
    return Container(
      alignment: Alignment.center,
      decoration: BoxDecoration(
        borderRadius: BorderRadius.circular(4),
        border: Border.all(color: isSelected ? Colors.blue.withOpacity(1.0) : Colors.black26),
        color: isSelected ? Colors.white.withOpacity(0.0) : Colors.white
      ),
      child:
      Row(
        mainAxisAlignment: MainAxisAlignment.spaceBetween,
        children: [
          SizedBox(width:10),
      Text(
        language,
        style: TextStyle(fontSize: 16,fontWeight: FontWeight.bold, color: isSelected ? Colors.black : Colors.black26),
      ),
      SizedBox(width:20),
      ],)
    );
  }

如何删除文本和表格 View 之间的空间?还是可以通过其他方式获得想要的输出?

最佳答案

GridView小部件具有默认的padding,您可以通过为其指定paddingpadding来删除EgdeInsets.zero

 GridView.count(
                       padding: EdgeInsets.zero // set padding to zero
                physics: NeverScrollableScrollPhysics(),
                shrinkWrap: true,
            crossAxisCount: 1,
            crossAxisSpacing: 2,
            mainAxisSpacing: 10,
            childAspectRatio: 5.1,
            children: <Widget>[
              GestureDetector(
                child: _buildWidget("Car", 0),
                onTap: () => setState(() => _languageIndex = 0),
              ),
              GestureDetector(
                child: _buildWidget("Boat", 1),
                onTap: () => setState(() => _languageIndex = 1),
              ),
            ],
          ),

关于flutter - Flutter如何删除GridView的顶部空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63617539/

相关文章:

flutter - 有没有一种方法可以对 ListView 进行排序?

dart - 如何在Dart FFI中使用 bool 类型?

asp.net - 使用jquery循环遍历gridview

asp.net - GridView 数据绑定(bind)不起作用

android - 在 Horizo​​ntalGridView Android 中设置列​​数和水平

gradle - 导入自定义字体时出现抖动错误

android-studio - 轻松本地化 : Localization key [. ..] 未找到

flutter - 是否可以从 Material 库导入单个文件来访问其私有(private)字段?

flutter 应用程序 : how about changing the state inside 'build' ?

dart - 在 Flutter 中检索图像路由