Swiper/PageView预加载图片

使用Swiper制作了轮播组件,而图片显示使用的CachedNetworkImage
在每张图片第一次被切换显示时,都会有一个加载的过程,对用户并不友好,所以就想着在图片显示前预加载对应的图片。
根据网上搜索到的flutter的PageView预加载图片的解决方法,进行了一些处理,就是在页面切换时预加载下一页图片的内容,并使用OffStage进行预加载,从而实现了图片的预加载方法。

全部图片预加载:

  Stack(
        children: [
          Swiper.children(
            index: _mediaIndex,
            loop: false,
            itemHeight: 400,
            onIndexChanged: (index) {
              _mediaIndex = index;
            },
            children: List.generate(
              imageUrlList.length,
              (index) => CachedNetworkImage(
                imageUrl: _imageUrlList[index],
              ),
            ),
          ),
          Offstage(
            offstage: true,
            child: Column(
              children: List.generate(
                imageUrlList.length,
                (index) => CachedNetworkImage(
                  imageUrl: _imageUrlList[index],
                ),
              ),
            ),
          ),
        ],
      )

预加载下一张图片

  Stack(
        children: [
          Swiper.children(
            index: _mediaIndex,
            loop: false,
            itemHeight: 400,
            onIndexChanged: (index) {
              _mediaIndex = index;
            },
            children: List.generate(
              imageUrlList.length,
              (index) => CachedNetworkImage(
                imageUrl: _imageUrlList[index],
              ),
            ),
          ),
          Offstage(
            offstage: true,
            child: Column(
              children:[
                if (_mediaIndex > 0) CachedNetworkImage(
                  imageUrl: _imageUrlList[_mediaIndex - 1],
                ),
                if (_mediaIndex < _imageUrlList.length - 1) CachedNetworkImage(
                  imageUrl: _imageUrlList[_mediaIndex + 1],
                ),
              ],
            ),
          ),
        ],
      )
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容