微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

相应地加载图像列表扑

如何解决相应地加载图像列表扑

我正在构建漫画应用程序。为了使漫画章节的加载速度更快。我希望图像依次加载一个。图像加载完成后,将直接显示在浏览量中。我不知道如何一张一张地加载图像并编辑页面视图以显示它们。

解决方法

为了更快地加载图像,您可以尝试使用cached_network_image软件包,如下所示:

CachedNetworkImage(
        imageUrl: "http://via.placeholder.com/350x150",placeholder: (context,url) => CircularProgressIndicator(),errorWidget: (context,url,error) => Icon(Icons.error),),

它将一直显示占位符,直到加载图像为止,以便用户可以看到有多少图像并等待直到加载,并使用errorWidget显示是否有图像出现问题。所以我建议使用它,它更容易。除非您需要一些复杂的代码,否则可以尝试使用ScrollController将其放入ListView.builder中。像这样在initState中初始化滚动控制器:

     final _scrollController = ScrollController();
      @override
      void initState() {
        super.initState();
        _scrollController.addListener(() {
          if (_scrollController.position.pixels ==
              _scrollController.position.maxScrollExtent) {
// scroll has reach end,now load more images.
            loadMore();
          }
        });
      }

您不能在setState中使用initState,所以这就是为什么我创建另一个方法来调用它的原因:

  Future<void> loadMore() async {
    final response = await api.get("curated?per_page=50&page=$_currentPage");
    if (response.statusCode == 200) {
      var tempList = Pages.fromJson(response.data);
      setState(() {
        isLoading = false;
        wallpaper.addAll(tempList.photos);
      });
    }

    return null;
  }

所以我希望您能理解,是的,它更复杂,所以就像我说的,我建议您使用CachedNetworkImage

,

使用StreamBuilder,它将为您完成所有工作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。