Container是flutter开发中最常用的组件,它有以下特点:

1. 当Container没有child组件的时候,Container的宽高默认占满父控件,也就是全屏

2.当Container有child组件的时候,宽高以child组件的宽高同等大小,也就是wrap_content

当Container的child组件为Row或者Column的时候,要为主轴添加 MainAxisSize.min,否则Container在主轴上是铺满的。

Widget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Container自适应'),),body: Center(child: Container(color: Colors.white,child: Row(mainAxisSize: MainAxisSize.min,children: <Widget>[Image.asset('images/test_teacher1.png', width: 22, height: 22),Text('小天使:', style: TextStyle(color: Colors.grey, fontSize: 14)),Text('陪你去看流星雨', style: TextStyle(color: Colors.black, fontSize: 14))],),),),);}

如果把这个Container放到ListView中,这个MainAxisSize.min是不起作用的,依然是占满屏幕宽度,请看代码

Widget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Container自适应'),),body: ListView.separated(itemBuilder: (context, index) {return Container(constraints: BoxConstraints(minHeight: 50),decoration: BoxDecoration(color: Colors.white,borderRadius: BorderRadius.all(Radius.circular(15)),),child: Row(mainAxisSize: MainAxisSize.min,children: <Widget>[Image.asset('images/test_teacher1.png', width: 22, height: 22),Text('小天使:', style: TextStyle(color: Colors.grey, fontSize: 14)),Text('陪你去看流星雨', style: TextStyle(color: Colors.black, fontSize: 14))],),);},separatorBuilder: (context, index){return Divider(height: 10,);},itemCount: 5),);}

运行之后的效果是这样子的:

怎么样让它自适应wrap_content,而不是占满屏幕宽度呢?

答案是在Container外层再套一个Row组件,然后再设置一个 mainAxisSize: MainAxisSize.min

代码如下:

Widget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Container自适应'),),body: ListView.separated(itemBuilder: (context, index) {return Row(mainAxisSize: MainAxisSize.min,children: <Widget>[Container(constraints: BoxConstraints(minHeight: 50),decoration: BoxDecoration(color: Colors.white,borderRadius: BorderRadius.all(Radius.circular(15)),),child: Row(mainAxisSize: MainAxisSize.min,children: <Widget>[Image.asset('images/test_teacher1.png', width: 22, height: 22),Text('小天使:', style: TextStyle(color: Colors.grey, fontSize: 14)),Text('陪你去看流星雨', style: TextStyle(color: Colors.black, fontSize: 14))],),)],);},separatorBuilder: (context, index){return Divider(height: 10,);},itemCount: 5),);}

改完之后,效果如下图所示:

Flutter系列之Container宽度自适应相关推荐

  1. 【Echart系列1—— 横轴文字格式化、图表宽度自适应问题】

    X轴常见格式化问题 在日常开发中用Echart.js绘制图表时经常会碰到需要修改X轴显示文字格式的情况,通常有以下几种类型: ① 文字竖向排列,如下图 关键代码如下: xAxis: {type: 'c ...

  2. css实现左侧宽度自适应,右侧固定宽度

    页面布局中经常用会遇到左侧宽度自适应,右侧固定宽度,或者左侧宽度固定,右侧自适应.总之就是一边固定宽度,一边自适应宽度. 一般固定宽度是导航栏,自适应宽度的是主体内容显示区. 所以要实现这种布局,就先 ...

  3. html笔记(二)html4+css2.0(元素类型、css精灵、宽度自适应、BFC、浏览器相关概述、css统筹)

    大标题 小节 一.元素类型 1. 元素分类 2. 置换和非置换元素 3. 元素类型转换 二.css精灵 三.宽高自适应 1. 宽度自适应 2. 高度自适应 3. 最小高度自适应 4. 高度塌陷及解决办 ...

  4. 左右侧边栏固定宽,中间宽度自适应

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  5. uniapp 视频图片切换,视频高度宽度自适应

    uniapp 视频 图片预览 视频宽度自适应, 视频图片左右切换, 图片点击放大预览 <template><view class="container">& ...

  6. 微信小程序 - 富文本图片宽度自适应(正则)

    引言:在微信小程序里,比如商品展示页面的商品详情会有图片展示,PC端设置的商品详情是PC端的宽度,所以在小程序里图片会显示不全,这时就应该做相应的处理,使小程序里图片显示正确 思路 把图片的宽度改为手 ...

  7. 模拟宽度自适应的输入框

    看代码: !DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content=& ...

  8. xHTML+div布局:三个div,两边div宽度固定,中间div宽度自适应

    xHTML+div经常考题:三个div,两边div宽度固定,中间div宽度自适应. 和大家分享一个实现方式: 1.html代码 1 <div class="dyleft"&g ...

  9. html设置box设置长度自适应,CSS实现宽度自适应宽高16:9的矩形的示例

    前面我们讲了怎么做一个自适应宽高1:1的正方形 现在我们来讲讲做自适应16:9的矩形要怎么做 第一步先计算高度,假设宽100%,那么高为h=9/16=56.25% 第二步利用之前所说设置padding ...

最新文章

  1. 【干货书】深度学习合成数据
  2. 使用英伟达NeMo让你的文字会说话,零基础即可实现自然语音生成任务 | 附代码...
  3. 通用求根算法zeroin_Modern Robotics运动学数值解法及SVD算法(C matlab)
  4. QT计算器功能的实现
  5. python消息队列celery高可用_分布式消息队列-Celery
  6. 【鬼网络】之部署YUM仓库大全
  7. mysql 分库分表 后怎么操作,MySQL要分表分库怎么进行数据切分?
  8. PHP+sqlsrv的分页实现
  9. MongoDB学习笔记一:MongoDB的下载和安装
  10. HTML自动刷新页面
  11. python自动化办公入门书籍-盘点使用Python进行自动化办公所需要的知识点
  12. CppUnit快速入门
  13. 离散数学及其应用 (第2版)
  14. c语言铺地板,【北理乐学】铺地板
  15. python 有限域函数库_有限域:计算矩阵的逆
  16. 2021SC@SDUSC Zxing开源代码(十三)Aztec二维码(二)
  17. 扒开思派健康招股书:大数据的面子,“卖药”的里子
  18. php storm官网,phpstorm官方版
  19. android百分比布局失效,Android Studio不能添加百分比布局的依赖,书和AS不一样,老报错,怎么弄?急~~~...
  20. AD 限定登录计算机,限制AD账户可以登录哪些计算机

热门文章

  1. EnableWindow()函数的应用
  2. C语言实现:十步万度游戏,代码思路+源码分享
  3. MFC edit控件设为ReadOnly后,EnableWindow(TRUE)无法恢复
  4. android气泡聊天框大小,android – 备用聊天气泡宽度
  5. ws832设置虚拟服务器,华为WS832路由器怎么设置网络
  6. 网速变慢且无线连接速率下降解决
  7. TOMBSTONE分析笔记
  8. jQuery动画效果(王者荣耀手风琴案例)
  9. 分享我是如何解决问题的——尊重每一个回答问题的人
  10. 2021年中国家装行业研究报告-艾瑞咨询