侧边栏壁纸
博主头像
钱学超博主等级

火星人,1万小时法则的忠实拥趸。技术宅,象棋和羽毛球爱好者,马拉松PB成绩:4小时零8分。坚持认为算法是计算机的灵魂。喜欢解决问题,喜欢手工,喜欢与朋友们聊天喝酒吹牛X。

  • 累计撰写 54 篇文章
  • 累计创建 306 个标签
  • 累计收到 52 条评论
标签搜索

目 录CONTENT

文章目录

flutter的PageView预加载图片的解决方法

钱学超
2021-08-19 / 0 评论 / 0 点赞 / 497 阅读 / 448 字 / 正在检测是否收录...

预加载图片是不可能的。

可以使用Offstage组件先将图片放到页面上来。
此时都不需要使用builder,就可以加载图片了。

Scaffold(
          body: Stack(
            children: [
              // 页面上的图片。
              PageView(
                controller: _pageController,
                onPageChanged: (index) {
                  setState(() => _pageIndex = index);
                },
                physics: PageScrollPhysics(parent: ClampingScrollPhysics()),
                children: _pages(),
              ),
              // 页面指示器
              _pageIndicator(),
              // 跳过按钮
              _jumpButton(),
              // 立即体验按钮
              _goInButton(_pageIndex == _images.length - 1),
              // 用来提前加载pageView中的图片。
              Offstage(offstage: true, child: Column(children: _pages())),
            ],
          ),
        )

0

评论区