Horizontal viewport was given unbounded height.
Vertical viewport was given unbounded width.

在写纵向或横向的布局的时候,一不小心就会遇到这个异常,宽度或高度溢出,导致widget不显示。

比如一个简单的例子:

      body: Column(children: <Widget>[Text("aaaaaa"),child: new ListView.builder(itemCount: articleDatas.length,itemBuilder: (BuildContext context, int position) {if (position.isOdd) return new Divider();return getRow(position);}),],),

Column中只有一个TextListView,但是效果确实ListView不显示,只显示Text。
随便报了一下Horizontal viewport was given unbounded height.异常。
原因就是flutter不知道ListView的高度而导致无法渲染。

所以

解决办法一:固定高度

直接用Container包裹起来写死高度。

      body: Column(children: <Widget>[Text("aaaaaa"),Container(height: 200,child: new ListView.builder(itemCount: articleDatas.length,itemBuilder: (BuildContext context, int position) {if (position.isOdd) return new Divider();return getRow(position);}),)],),

这样虽然可以,但是如果高度需要自适应的话,写死就不行了

解决办法二:shrinkWrap: true

给ListView的shrinkWrap属性设置为true

shrinkWrap: true在android中有点像wrap_content的意思。

但是编译之后会发现页面底部会有超长的黄色警告。

所以还是不行

解决办法三:Flexible

Flexible是flutter中的一个弹性布局,相当于android中的LinearLayout。

Flexible中有一个flex属性,等于layout_weight,把剩余空间全部占掉。

所以,我们用Flexible把ListView包裹起来即可

          Flexible(child: new ListView.builder(...}),)

所以第三种一般才是终极的解决办法,第一种虽然也可以,但是局限性太多。

更多详细内容:https://blog.csdn.net/yuzhiqiang_1993/article/details/89451080

Horizontal viewport was given unbounded height.width.相关推荐

  1. flutter Vertical viewport was given unbounded height

    完美解决flutter Vertical viewport was given unbounded height错误. 今天多层嵌套错误,终于解决(代码在末尾),花了2个小时百度了好久,都没解决(有说 ...

  2. Expanded, SingleChildScrollView, CustomScrollView, container, height, width

    SingleChildScrollView, CustomScrollView, container, init: double.inifinity. then use Expanded to con ...

  3. opencv 中x,y,height, width,rows,cols 的关系

    opencv中图像的x,y 坐标以及 height, width,rows,cols 他们的关系经常混淆. rows 其实就是行,一行一行也就是y 啦.height高度也就是y啦. cols  也就是 ...

  4. 36.5. height / width

    rrdtool graph graph.png --title="Test Graph" --height=400 --width=800 DEF:pkt=datafile.rrd ...

  5. js中top,left,height,width相关参数的解析和实例

    下面的这些参数的解析都是针对于IE浏览器的: 得到屏幕中鼠标的坐标,相对于整个页面: x=event.clientX, y=event.clientY 得到当前窗口的宽度: w=document.bo ...

  6. java长方体的父类_java的多级继承程序(题目:创建超类cuboid(长方体),其成员有height,width,length和计算机长方体的体积...

    满意答案 CMY891 推荐于 2017.12.16 采纳率:53%    等级:11 已帮助:372人 package zhangyw.test; /** * 该类表示立方体,提供了计算体积的方法. ...

  7. Flutter学习笔记学习资料推荐,手机端开发工具

    打开该目录下的flutter.gradle文件修改如下内容: buildscript { repositories { //google() //jcenter() maven { url 'http ...

  8. Flutter学习笔记学习资料推荐,大学生android开发项目实例

    Flutter开发中的一些Tips Flutter开发中的一些Tips(二) Flutter开发中的一些Tips(三) 正确操作Dart中的字符串[译] Flutter三种方式实现页面切换后保持原页面 ...

  9. Flutter学习笔记学习资料推荐

    对Flutter的学习已经有一段时间了,这里做一下总结记录,东西比较多,可能主要是一些学习资料的记录,还有一些杂七杂八的学习笔记. 文章目录 Flutter 初体验 Flutter 环境配置 Flut ...

最新文章

  1. python django 优势_那么多人选择Python,它的优势,缺点有哪些?
  2. #在android studio中维护日程管理系统
  3. java 高手_Java高手是怎样炼成的
  4. react做h5 例子_使用React写一个网站的心得体会
  5. linux mysql 安装innodb_在ubuntu Mysql 5.7 安装InnoDB Memcached 插件
  6. java 关键字是运算符_Java的super关键字与instanceof运算符使用方法
  7. 线性表java实现之顺序存储源码
  8. pgsql merge方法
  9. EOJ 306 树上问题
  10. R语言与抽样技术学习笔记(Randomize)
  11. 高手过招的乐趣---测试用例预演
  12. java程序员修炼教学视频,快来看鸭~
  13. Vue 大量数据展示卡顿解决方案(长列表优化)
  14. 安卓开发中的 “Android高手” ,需要具备哪些技术?
  15. visual Studio Code(VS code)软件中HTML超级好用的一个插件 liveserver,vs code浏览网页
  16. 关于融云聊天室KV 值的正确使用
  17. Unity3D使用LitJson.dll解析报错问题
  18. 转 兵无常势 水无常形 贴
  19. Cassandra之jdbc-cassandra使用笔记
  20. 作为SAP顾问都应该知道的ABAP程序调试方法

热门文章

  1. MySQL修改密码报错:ERROR 1064 (42000): You have an error in your SQL syntax
  2. Android读写SD卡
  3. 麦克风阵列语音增强算法——固定波束形成算法
  4. 信用社pb通用记账_单折活期中pb通用记账-
  5. base92解码(python3实现base92加解码)
  6. 今日芯声 | 马斯克称 AI 会超越人类,不相信的人都自作聪明
  7. 【PyTorch】RuntimeError: CUDA error: CUBLAS_STATUS_INVALID_VALUE when calling cublasSgemm()
  8. 【英语语法入门】 第16讲 不定量表达法 (2)
  9. 【GIS】从GBIF获取生物多样性数据
  10. 带宽测试linux,Linux下测试带宽速度