最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 【Flutter 2-6】Flutter手把手教程UI布局和Widget——Image控件、NetworkImage、AssetImage|七日打卡

    正文概述 掘金(弗拉德)   2021-01-11   657

    Image是一个常用的控件,它可以帮助我们显示图片,图片的资源可以是来自网络、本地或者是内存。在移动端的开发中会大量使用Image来展示一些图文,了解和掌握Image控件是非常有必要的。

    AssetImage 和 Image.asset

    AssetImage是Flutter提供的一个可以从本地读取图片资源的类,我们可以使用它来读取图片。同样Flutter还提供了Image.asset这个构造方法直接来帮助我们读取图片资源并返回一个Image对象。其实Image.asset是对AssetImage一层更高级的封装。

    1. AssetImage

    Image(
        image: AssetImage("images/image_demo.jpg"),
        width: 80,
        height: 80,
    )
    

    2. Image.asset

    Image.asset(
        "images/image_demo.jpg",
        width: 80,
        height: 80,
    )
    

    两个方法都是传入一个本地文件路径就可以了。

    NetworkImage 和 Image.network

    NetworkImage是一个可以从网络下载图片的类,它本身是异步的。Image.network是对NetworkImage的封装,它需要传入一个URL地址就可以返回一个Image对象。这两个的设计跟AssetImageImage.asset的设计基本一致。 3. NetworkImage

    Image(
        image: NetworkImage("http://www.fulade.me/img/avatar.jpg"),
        width: 80,
        height: 80,
    )
    

    4. Image.network

    Image.network(
        "http://www.fulade.me/img/avatar.jpg",
        width: 80,
        height: 80,
    )
    

    Alignment

    alignment是Image的一个很重要的参数,它可以帮助我们设置图片的位置。有以下几个枚举值

    参数描述
    topCenter居中靠上topRight居右上角centerLeft居中靠左center居中centerRight居中靠右bottomLeft居右下角bottomCenter居中靠下bottomRight居右下角### BoxFitfit参数是很重要的布局参数,当我们的图片内容跟Image设置的大小不完全吻合的时候,fit的参数值BoxFit可以帮助我们做最优的调整和显示5. BoxFit.containfit的默认值是BoxFit.contain。由下图我们不难看出,BoxFit.contain会等比例缩放,保持图片的原始的比例并且显示在Image内。【Flutter 2-6】Flutter手把手教程UI布局和Widget——Image控件、NetworkImage、AssetImage|七日打卡

    6. BoxFit.fill 由图可见BoxFit.fill会充满整个容器,如果图片大小与容器不完全吻合,可能会出现拉伸。 【Flutter 2-6】Flutter手把手教程UI布局和Widget——Image控件、NetworkImage、AssetImage|七日打卡

    7. BoxFit.cover BoxFit.cover会保持图片资源的大小,如果超过的部分会被裁掉不会显示。 【Flutter 2-6】Flutter手把手教程UI布局和Widget——Image控件、NetworkImage、AssetImage|七日打卡

    8. BoxFit.fitWidth BoxFit.fitWidth会使宽度充满整个容器,高度会按比例缩放,图片不会被拉伸,超出容器的部分会被剪裁。 【Flutter 2-6】Flutter手把手教程UI布局和Widget——Image控件、NetworkImage、AssetImage|七日打卡

    9. BoxFit.fitHeight BoxFit.fitHeightBoxFit.fitWidth相似,高度会充满整个容器,宽度会按比例缩放,图片不会被拉伸,超出容器的部分会被剪裁。 【Flutter 2-6】Flutter手把手教程UI布局和Widget——Image控件、NetworkImage、AssetImage|七日打卡

    10. BoxFit.none none表示没有设置显示策略,以原始大小居中来显示。 【Flutter 2-6】Flutter手把手教程UI布局和Widget——Image控件、NetworkImage、AssetImage|七日打卡

    11. BoxFit.scaleDown 当图片资源大于容器的时候,效果相当于 BoxFit.none, 当组件比图片小时,效果相当于 BoxFit.contain【Flutter 2-6】Flutter手把手教程UI布局和Widget——Image控件、NetworkImage、AssetImage|七日打卡

    想体验以上的示例的运行效果,可以到我的Github仓库项目flutter_app->lib->routes->image_page.dart查看,并且可以下载下来运行并体验。


    起源地下载网 » 【Flutter 2-6】Flutter手把手教程UI布局和Widget——Image控件、NetworkImage、AssetImage|七日打卡

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元