gpt4 book ai didi

dart - NetworkImage 和 Image.network 的区别?

转载 作者:IT老高 更新时间:2023-10-28 12:33:09 29 4
gpt4 key购买 nike

两者有区别吗?

有什么缺点,在正常情况下哪个更容易使用?

最佳答案

Are there any difference in both of them?

是的。它们是不同的。

  • NetworkImage类创建一个对象,该对象从传递给它的 src URL 提供图像。它不是小部件,不会将图像输出到屏幕。
  • Image.network创建一个在屏幕上显示图像的小部件。它只是 Image 上的命名构造函数类(一个有状态的小部件)。它使用 NetworkImage 设置 image 属性。这个 image 属性最终用于显示图像。

    class Image extends StatefulWidget{
    Image(...){}; //default Constructor


    //the argument src is passed to the NetworkImage and assinged to the image property
    Image.network(String src, {...}) : image = NetworkImage(src, ...);


    final ImageProvider image;

    @override
    Widget build(BuildContext context){
    display the image
    return RawImage(image: image,
    ...
    );
    }
    }

Whats the disadvantage and which one is easier to use for normal situation?

没有缺点。您应该使用适合需要的那个。例如考虑:

  1. CircleAvatar显示代表用户的圆圈的小部件采用 backgroundImage。它需要一个 ImageProvider。所以你通过 NetworkImage(http://image.com)
  2. FadeInImage在加载原始图像时显示占位符的 ImageProvider 属性也为其 image 属性。所以你可以提供它NetworkImage(http://image.com)

如果您只想在屏幕上将图像显示为小部件,请使用 Image.network 并在需要 ImageProvider 的任何地方使用 NetworkImage

关于dart - NetworkImage 和 Image.network 的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52242995/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com