Flutter legt GridView und ListView auf die Containerhöhenanpassung fest

Referenz
1. Entfernen Sie die Höhe des Containers.
2. Fügen Sie die folgende Anweisung hinzu

   physics: NeverScrollableScrollPhysics(),
            shrinkWrap: true,

Der vollständige Code lautet wie folgt

  Widget imageSection1(imgPath, imgPath1) {
    
    
    return ListView(
      physics: NeverScrollableScrollPhysics(),
      shrinkWrap: true,
      children: [
        Row(
          children: [
            GestureDetector(
              onTap: (){
    
    
                uploadImages();
              },
              child: Container(
                height: 60,
                width: 60,
                margin: const EdgeInsets.only(right: 10.0),
                decoration: const BoxDecoration(
                  image: DecorationImage(
                    image: AssetImage(
                        "assets/base_widgets/icon_publish_moment_addphoto.png"),
                    fit: BoxFit.fitWidth,
                  ),
                ),
              ),
            ),
          ],
        ),
        Container(
          width: double.infinity,

          child: GridView.builder(
            physics: NeverScrollableScrollPhysics(),
            shrinkWrap: true,
            padding: EdgeInsets.all(0),
            gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                crossAxisCount: 3, crossAxisSpacing: 2, mainAxisSpacing: 2),
            itemBuilder: (BuildContext context, int index) {
    
    
              return _createGridViewItem(
                  AssetThumb(
                    asset: resultList[index],
                    width: 300,
                    height: 300,
                  ),
                  index);
            },
            itemCount: resultList.length,
          ),
        )
      ],
    );
  }

Guess you like

Origin blog.csdn.net/weixin_44911775/article/details/124844806