Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Flutter 图片如何充满父布局

Flutter 图片如何充满父布局

作者头像
坑吭吭
发布于 2018-08-31 09:36:24
发布于 2018-08-31 09:36:24
2.5K00
代码可运行
举报
运行总次数:0
代码可运行

正常我们需要显示一张图片,会用到Image这个控件。 打个比方,我们加载一张本地的图片, 先看一下这个Image.asset的源码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Image.asset(String name, {
    Key key,
    AssetBundle bundle,
    double scale,
    this.width,
    this.height,
    this.color,
    this.colorBlendMode,
    this.fit,
    this.alignment: Alignment.center,
    this.repeat: ImageRepeat.noRepeat,
    this.centerSlice,
    this.matchTextDirection: false,
    this.gaplessPlayback: false,
    String package,
  }) : image = scale != null
         ? new ExactAssetImage(name, bundle: bundle, scale: scale, package: package)
         : new AssetImage(name, bundle: bundle, package: package),
       assert(alignment != null),
       assert(repeat != null),
       assert(matchTextDirection != null),
       super(key: key);

基本上根据这些属性名字就能看出这些属性都是干啥的,这里面咱只看fit这个东西,这里有专门讲解这一块用法的一个文章image,(这里说明一下,由于网上的这篇文章大多都长得一样,本人也没分辨出真正作者是谁,如果该链接文章的作者看到的话可以联系我,我把链接改成你的)

fit

Description

Result

BoxFit.fill

全图显示,显示可能拉伸,充满

image

BoxFit.contain

全图显示,显示原比例,不需充满

image

BoxFit.cover

显示可能拉伸,可能裁剪,充满

image

BoxFit.fitWidth

显示可能拉伸,可能裁剪,宽度充满

image

BoxFit.fitHeight

显示可能拉伸,可能裁剪,高度充满

image

BoxFit.none

BoxFit.scaleDown

效果和contain差不多,但是此属性不允许显示超过源图片大小,可小不可大

image

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Image.asset(
        AssetImages.demo,
        fit: BoxFit.cover,
        )

根据我们的理解,第一个参数为图片名字,fit则是这个图片的scaleType。这里的cover相当于centerCrop。问题这时候来了!!划重点!!单独这么写这个Image的话,这个fit参数是不起作用的。因为这个image没有Size,就是里面的heightwidth这俩参数没有。

解决办法:

  • 外面嵌套一层Column(我觉得这种方法有点高射炮打蚊子的感觉。。)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
new Column(
        children: <Widget>[
          new Image.network(
            _parties[index]["cover"], fit: BoxFit.fitWidth,
            height: 120.0,
          ),
          new Text(_parties[index]['name'])
        ]
    )
  • 直接写上宽和高(前提是你得先知道确切的宽高,比如要全屏显示图片)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Image.asset(
      AssetImages.demo,
      width: MediaQuery.of(context).size.width,
      height: MediaQuery.of(context).size.height,
      fit: BoxFit.cover,
    )
  • 外面嵌套BoxConstraints,给Image加约束,让它填充父布局。(本人喜欢这种方式)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ConstrainedBox(
        child: Image.asset(
                  AssetImages.start2,
                  fit: BoxFit.cover,
                  ),
        constraints: new BoxConstraints.expand(),
       )

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2bwjo723g1z4g

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.08.02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Flutter的图片组件
通过Container的 borderRadius 和 image 的结合来设置图片的圆角:
拉维
2019/08/12
5300
Flutter的图片组件
Flutter基础widgets教程-Image篇
用来设置图片重复显示(repeat-x水平重复,repeat-y垂直重复,repeat两个方向都重复,no-repeat默认情况不重复)
青年码农
2020/10/10
8810
Flutter基础widgets教程-Image篇
【Flutter 专题】127 图解基础 Image 小组件
Image 图片作为日常中最常用的 Widget 却也是最容易忽略的,和尚在日常中通常仅用到 Image 展示图片属性,但是 Image 本身非常强大,有很多和尚所不熟知的属性特征;今天和尚重新认识一下 Image Widget;
阿策小和尚
2021/07/05
1.4K0
【Flutter 专题】127 图解基础 Image 小组件
Flutter 中 image 图片组件
1. alignment 对齐方式 。值为Alignment类型,如:Alignment.topCenter;
越陌度阡
2020/12/18
1.6K0
Flutter 中 image 图片组件
3.Flutter学习之Image组件
学习自: Dart Flutter教程_Dart Flutter入门实战视频教程-2019年新出. Flutter之path_provider
易帜
2022/02/09
9430
3.Flutter学习之Image组件
Flutter组件学习(二)—— Image
上一节中,我们讲了 Flutter 中 Text 组件的一些用法以及 API,本节我们继续学习 Flutter 中的 Image 组件,同样先上图:
用户2802329
2018/12/21
1.5K0
Flutter小课堂-Image篇
前言 图片是一个我们又爱又恨的东西,它是万美之本,也是万恶之源 为阐述清楚Image的使用,专开本文,希望通过本文,你可以学到一个很有用的方法 另外通过最后布局海贼王的悬赏令,基本实现可改头像,
张风捷特烈
2020/04/30
5510
Flutter小课堂-Image篇
【Flutter 专题】67 图解基本约束 Box (二)
分析源码可得,UnconstrainedBox 继承自 SingleChildRenderObjectWidget,与 ConstrainedBox 效果相反,给子 Widget 提供不加限制的空间;
阿策小和尚
2019/11/12
5710
【Flutter 专题】67 图解基本约束 Box (二)
深入理解 Flutter 鸿蒙版的 Stack 布局:适配屏幕与层叠样式布局
在 Flutter 中,布局是构建用户界面的基础。今天,我们将重点探讨 Flutter 的 Stack 布局,了解如何使用它创建复杂的界面元素,并实现响应式设计,以适应不同屏幕大小的设备。
淼学派对
2024/11/04
2160
【Flutter 实战】各种各样形状的组件
BorderDirectional和Border基本一样,区别就是BorderDirectional带有阅读方向,大部分国家阅读是从左到右,但有的国家是从右到左的,比如阿拉伯等。
老孟Flutter
2020/09/11
1.3K0
【Flutter 实战】各种各样形状的组件
Flutter:使用手势识别做一个360旋转展物
最近在复习Flutter的GestureDetector相关知识时,想到了以前用Android实现的展物项目,这次完整的用Flutter实现了一下,真是感觉代码简洁了很多,
kimihe
2020/03/27
2.4K1
Flutter GridView 使用
今天学习一下在Flutter中怎么使用GridView,效果如上图。 头部是一个Banner,使用的是第三方的
赵哥窟
2019/09/20
2.3K0
Flutter GridView 使用
Flutter 你需要知道的那些事 01
对于设置控件宽度填充父控件这件事情,在 Android 里面,只需要设置 MATCH_PARENT 即可。
AndroidTraveler
2019/05/14
6570
基于flutter3.x+material-design3仿微信App应用实战
flutter3-wchat一款基于flutter3+dart3+material-ui技术构建的跨多端仿微信聊天项目。
andy2018
2024/02/07
1.2K0
【Flutter 专题】52 图解可折叠状态栏
和尚以前在学习滑动冲突时曾用过 Sliver 系列的 Widget,和尚这次尝试用 SliverAppBar 来处理;
阿策小和尚
2019/08/12
1.4K0
【Flutter 专题】52 图解可折叠状态栏
【Flutter 专题】22 易忽略的【小而巧】的技术点汇总 (二)
和继续整理一些个人不太注意但非常有用的小功能点,可能也是大家熟悉的,只是为了以后使用方便查找。
阿策小和尚
2019/08/12
9300
【Flutter 专题】22 易忽略的【小而巧】的技术点汇总 (二)
Flutter 约束宽高比的控件 AspectRatio
撸码前有个点要注意一下,文档上面说了, 该widget 首先会尝试布局约束所允许的最大宽度。
Flutter笔记
2019/07/25
2.9K0
【Flutter实战】图片组件及四大案例
老孟导读:大家好,这是【Flutter实战】系列文章的第三篇,这一篇讲解图片组件,Image有很多高级用法,希望对您有所帮助。
老孟Flutter
2020/09/11
2.9K0
【Flutter实战】图片组件及四大案例
Flutter 中渐变的高级用法
玄奘(602年~664年),唐代著名高僧,法相宗创始人,洛州缑氏(今河南洛阳偃师)人,其先颍川人,俗家姓名“陈祎(yī)”,法名“玄奘”,被尊称为“三藏法师”,后世俗称“唐僧”,与鸠摩罗什、真谛并称为中国佛教三大翻译家。
老孟Flutter
2020/09/11
1.5K0
Flutter 中渐变的高级用法
【Flutter 组件】004-基础组件:图片及 ICON
Flutter 中,我们可以通过 Image 组件来加载并显示图片,Image 的数据源可以是 asset 、文件、内存以及网络。
訾博ZiBo
2025/01/06
3810
【Flutter 组件】004-基础组件:图片及 ICON
相关推荐
Flutter的图片组件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验