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

预加载图片是不可能的。

可以使用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())),
            ],
          ),
        )

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×