微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Flutter中的StaggeredGridView中使用堆栈小部件?

如何解决如何在Flutter中的StaggeredGridView中使用堆栈小部件?

Before Adding stack widget

After Adding stack widget

om / cFMse.png

当我在StaggeredGridView中使用堆栈小部件时,为什么图像会变得怪异的大小。当我从网格视图中删除堆栈时,布局看起来就很好了。我是否以错误的方式使用布局?

new StaggeredGridView.countBuilder(
                crossAxisCount: 2,crossAxisspacing: 10,mainAxisspacing: 10,itemCount:model.hit.length,itemBuilder: (context,index) {
                  return
                    Stack(
                     children: [
                       Container(
                         decoration: Boxdecoration(
                             color: Colors.transparent,borderRadius: BorderRadius.all(Radius.circular(35))),child:
                         ClipRRect(
                             borderRadius: BorderRadius.all(Radius.circular(35)),child:FadeInImage.memoryNetwork(
                               placeholder: kTransparentimage,image: model.hit[index]['largeImageURL'],fit: BoxFit.cover,)

                         ),)
                     ],);

                },staggeredTileBuilder: (index) {
                  return new StaggeredTile.count(1,index.isEven ? 1.2 : 1.8);
                })

解决方法

尝试将StackFit.expand参数传递给堆栈

return
    Stack(
       fit: StackFit.expand,/// <-- expand to the size of the parent constraint
       children: [
          Container(
            decoration: BoxDecoration(
              color: Colors.transparent,borderRadius: BorderRadius.all(Radius.circular(35))),child: ClipRRect(
                 borderRadius: BorderRadius.all(Radius.circular(35)),child:FadeInImage.memoryNetwork(
                   placeholder: kTransparentImage,image: model.hit[index]['largeImageURL'],fit: BoxFit.cover,)
                 ),)
        ],);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。