Swiper/PageView預(yù)加載圖片

使用Swiper制作了輪播組件,而圖片顯示使用的CachedNetworkImage;
在每張圖片第一次被切換顯示時,都會有一個加載的過程,對用戶并不友好,所以就想著在圖片顯示前預(yù)加載對應(yīng)的圖片。
根據(jù)網(wǎng)上搜索到的flutter的PageView預(yù)加載圖片的解決方法,進行了一些處理,就是在頁面切換時預(yù)加載下一頁圖片的內(nèi)容,并使用OffStage進行預(yù)加載,從而實現(xiàn)了圖片的預(yù)加載方法。

全部圖片預(yù)加載:

  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],
                ),
              ),
            ),
          ),
        ],
      )

預(yù)加載下一張圖片

  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],
                ),
              ],
            ),
          ),
        ],
      )
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容