首页 > 解决方案 > 有没有办法在不删除 Positioned.fill 小部件的情况下使这段代码工作

问题描述

我正在尝试构建一个水平滚动的可点击图像的列表视图,因此我将列表视图放在一个容器中,并且列表视图的每个子视图都是一个容器,其中包含一个包含图像的堆栈和一个墨水池小部件,此代码引发错误在构建堆栈时,我尝试使用向容器添加高度或宽度的代码,还尝试删除 cliprrect 小部件,但只有当我删除图像周围的定位.fill 小部件时它才能正常工作。

    return Scaffold(
      body: Container(
        height: 150,
        child: ListView(
          scrollDirection: Axis.horizontal,
          children: [
            // image container
            Container(
              margin: EdgeInsets.all(2),
              child: Stack(
                children: [
                  Positioned.fill(
                    child: ClipRRect(
                      borderRadius: BorderRadius.circular(5),
                      child: CachedNetworkImage(
                        placeholder: (context, url) =>
                            Image.asset('assets/images/def3.png'),
                        errorWidget: (context, posterUrl, error) =>
                            Image.asset('assets/images/def3.png'),
                        imageUrl: 'imageurl',
                        fit: BoxFit.cover,
                      ),
                    ),
                  ),
                  Positioned.fill(
                    child: Material(
                      color: Colors.transparent,
                      child: InkWell(
                        borderRadius: BorderRadius.circular(5),
                        onTap: () {},
                      ),
                    ),
                  )
                ],
              ),
            ),
          ],
        ),
      ),
    );
  }

断言失败:第 588 行 pos 12:'size.isFinite':不正确。

当抛出异常时,这是堆栈

标签: flutterflutter-layout

解决方案


推荐阅读