首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

shrinkWrap在ListView.builder中做什么?

在ListView.builder中,shrinkWrap是一个布尔值属性,用于指定ListView是否应根据其内容的大小调整自身的大小。

当shrinkWrap为true时,ListView会根据其内容的大小来调整自身的大小,使得ListView的大小与其内容的大小保持一致。这意味着ListView会尽可能小地包裹其内容,不会超出其内容的范围。

当shrinkWrap为false时,ListView会根据其父容器的约束条件来确定自身的大小,而不考虑其内容的大小。这意味着ListView会尽可能地填满可用空间,可能会超出其内容的范围。

在ListView.builder中使用shrinkWrap属性时,如果列表的内容高度是固定的,可以将shrinkWrap属性设置为true,以避免ListView多余的滚动区域,提高性能和内存效率。但如果列表的内容高度不固定或者需要使用ListView的滚动功能,则应将shrinkWrap属性设置为false。

腾讯云相关产品推荐:

  • 云服务器(CVM):腾讯云的弹性计算服务,提供可扩展的云服务器实例。了解更多:云服务器(CVM)
  • 对象存储(COS):腾讯云的海量、安全、低成本的云存储服务。了解更多:对象存储(COS)
  • 人工智能(AI):腾讯云的人工智能服务,包括语音识别、图像识别、机器学习等。了解更多:人工智能(AI)

请注意,以上仅为腾讯云的部分相关产品,并不代表其他品牌商的替代产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Flutter跨平台移动端开发丨SingleChildScrollView、ListView......

指定 itemExtent 的值比让子元素决定自身长度绘制时更高效,特别是滚动位置频繁变化的状态下,因为设置 itemExtent 可以让滚动系统提前知道列表的长度。...addAutomaticKeepAlives:表示是否将列表项包裹在 AutomaticKeepAlive widget 。(懒加载时,如果设置了包裹那么在此列表项滑出屏幕外时不会被GC。...(当选择将列表项包裹在 RepaintBoundary 时,滚动过程可以避免重绘,如果此列表项需要自己维护 KeepAlive 状态,那么此参数需为 false) addSemanticIndexes...(懒加载时,如果设置了包裹那么在此列表项滑出屏幕外时不会被GC。...(当选择将列表项包裹在 RepaintBoundary 时,滚动过程可以避免重绘,如果此列表项需要自己维护 KeepAlive 状态,那么此参数需为 false) addSemanticIndexes

8.7K51

ListView&GirdView

本篇文章,我们会进一步对Flutter中常用的Widget进行介绍,有印象的童鞋可能还记得,在前面的文章我们分享了Row和Colunm的用法,我们也使用这两个Widget完成了一些类似列表的操作,...好的吧,我们还是来看下这两个Widget的用法吧 ListView ---- ListView就是我们常见的列表组件,平时的应用开发十分的常见,无论你做的是什么类型的应用都会多多少少会用到ListView...那么,我们可以尝试下ListView.builder()和ListView.custom()。...我们今天来看下ListView.builder() ListView.builder({ Key key, Axis scrollDirection: Axis.vertical, bool reverse...itemBuilder返回指定的的Listitem到ListItemWidget对象,返回指定的ListItemWidget对象。

1.7K20

洪灾、山火、暴雪,VRAR我们能为环保做什么

纪录片《最后一次攀登》(The Last Ascent),Will Gadd和他的团队探索了周围的冰柱,又一次攀登了乞力马扎罗山峰。这次,他攀的是梅斯纳尔路线,这条路线自80年代以来仅攀登过一次。...攀登过程,Gadd明显感觉到了与之前攀登时的区别,由于冰川融化,大量冰块流失,他已不能继续攀登。 AR的气候变化,或许比现实更有效 ?...视频的AR互动,给你更多反思 《最后一次攀登》是全球首个可以AR同步的视频体验,其AR技术由计算机视觉公司Eye candylab开发,影片中增加了互动和沉浸式体验来增强主旨的感染力。 ?...点开动画后,动画效果会充满整个屏幕,并列举出冰雪融化的数量,还会有小鱼周围游来游去。 ?...如今的生活随处可见保护环境的宣传标语,校园里也有关于保护环境的专业部门,但是,这似乎已经变成了一种形式,就像我们整天说要保护环境,减少污染,事实却是车辆购买率持续升高,环境污染日渐严重。 ?

66910

【Flutter 专题】130 图解 DraggableScrollableSheet 可手势滑动的菜单栏

和尚发现在长期未登陆小米应用市场时,再次登陆会有可滑动的半屏底部菜单,供用户方便下载和推广;而在 Flutter 这个半屏底部菜单并不是一个简单的 BottomSheet 完成的,可以通过 DraggableScrollableSheet...FractionallySizedBox 以父 Widget 为基数,可设置宽高比例的容器构建子内容; 案例尝试 1. builder ScrollableWidgetBuilder 构造器作为必选字段,用于...DraggableScrollableSheet 显示可滑动的子内容;其中返回内容需为可滑动的 ScrollableWidget,例如 ListView / GridView / SingleChildScrollView...( physics: NeverScrollableScrollPhysics(), shrinkWrap: true, itemCount:...小扩展 之前分析 DraggableScrollableSheet 时其源码采用了 FractionallySizedBox 比例容器,和尚简单了解一下,其源码非常简单,通过设置 heightFactor

1.3K20

【Flutter 专题】55 日常小问题小结 (二)

尝试一: pub.dev 中找到问题的插件,根据更新列表逐个低版本尝试,注意需要替换成固定版本(无 ^),直到正常使用版本,虽然靠谱但是可能尝试次数很多; ?...(和尚测试可能与逐个排查的版本不一致); pubspec.yaml 替换这个安全版本即可,注意:any 只是用来辅助查找安全版本,实际项目中不建议用,可能会出现适配问题; ?...尝试一: 和尚根据错误提示将弹窗位置调整到 didChangeDependencies 和 build 且异步尝试,同样失败,提示需要父类组件构建成功之后才可以构建子组件; ?...的 shrinkWrap=true 即可;shrinkWrap 可以设置 ListView 只占用所需要的空间; Widget _listItemWid(values) { return Center...( child: ListView.builder( shrinkWrap: true, scrollDirection: Axis.horizontal

1.2K31

Flutter开发-可滚动组件

ListView,指定itemExtent比让子组件自己决定自身长度会更高效,这是因为指定itemExtent后,滚动系统可以提前知道列表的长度,而无需每次构建子组件时都去再计算一下,尤其是滚动位置频繁变化时...当ListView一个无边界(滚动方向上)的容器时,shrinkWrap必须为true。...addAutomaticKeepAlives:该属性表示是否将列表项(子组件)包裹在AutomaticKeepAlive 组件;典型地,一个懒加载列表,如果将列表项包裹在AutomaticKeepAlive...该列表项滑出视口时它也不会被GC(垃圾回收),它会使用KeepAliveNotification来保存其状态。...itemBuilder,如果显示到最后一个时,判断是否需要继续获取数据,然后返回一个Icon。

4.5K20

【Flutter 专题】123 图解简易 GroupList 二级分类列表

;其中注意, ACECheckbox 点击回调时应注意更改一级实体 Bean isChecked 状态; return Scaffold( appBar: AppBar(title: Text...二级列表 当点击一级列表 item 时,展现二级列表;而实际上只是一级 item 添加一个新的列表数据,仅视觉效果上是展开二级列表;当再次点击一级列表 item 时把新加的二级列表替换为空的...数据动态添加 和尚预期的目标是,首次数据只展示一级列表数据,再点击一级列表 item 时才会请求二级列表数据,并动态添加到数据列表;这样的优势便是减少数据请求,简化数据格式;和尚默认 分组五...不设置二级列表数据,点击时动态添加; return InkWell( child: Column(children: [ Divider(height: 0.5...ListView 设置 primary: false & shrinkWrap: true 等即可; _widget = ListView.builder( primary: false,

1.7K31

Flutter | 滚动组件,ListView,GridVIew等

IOS 平台会自动切换为 CupertinoScrollbar ViewPort 视口 很多布局中都有 ViewPort 的概念, Flutter ,术语 ViewPort (视口) ,如无特别说明...其实此属性的本质上是决定可滚动组件的初始滚动位置是 头 还是 尾 ,如 false 时,初始位置头,反之则在 尾 primary:指是否使用 widget 树默认的 PrimaryScrollController...当 ListView 一个无边界(滚动方向上)的容器时, shrinkWrap 必须为 true addAutomaticKeepAlives:该属性表示是否将列表项(子组件) 包裹在 AutomaticKeepAlive...组件; 典型的,一个懒加载的列表,如果将列表包裹在 AutomaticKeepAlive 改了吧划出视口时,他也不会被 GC 回收(垃圾回收),他会使用 KeepAliveNotification..._retrieveIcons() 方法模拟异步然后获取数据,成功后将数据保存,然后调用 setState 重新构建 itemBuilder ,如果是最后一个,并且小于200 则加载数据,大于 200

8.5K20

vue如何使用中央事件总线?vue是做什么的?

那么vue如何使用中央事件总线?一起来看看下文是如何介绍的。 vue如何使用中央事件总线?...首先可以项目中创建一个js文件,这里举例说明为bus.js,然后可引入vue并创建出一个vue实例,导出实例后即可;随后需要通信的两个组件之中分别引入bus.js;通过vue实例方法就可以发送事件名称和需要传递的数据...vue是做什么的? vue实际上就是一款比较流行的前端框架,可以为web开发得到更好的组织与简化的作用。...上文中为大家介绍了vue如何使用中央事件总线的相关问题,希望能够给各位前端及开发人士提供参考。...实际上,开发项目中并不是每一个都需要在vue中使用中央事件总线,只有当数据和业务逻辑极为复杂的情况下我们才会采用这种方式,写出来的代码也比较简洁、直观。

2.8K20

【Flutter 专题】131 图解 AnimatedList 动画列表

和尚在使用列表加载数据项时,为了提高用户浏览体验,增加删除 Item 项时适当增加一点小动画,于是和尚通过 AnimatedList 简单尝试一下; AnimatedList 源码分析 const...this.primary, // 是否与父级滚动关联 this.physics, // 滚动如何响应用户操作 this.shrinkWrap...List;通过 AnimatedListState 用于动态的增加或删除 Item;提供了 itemBuilder & initialItemCount 与 ListView.builder 方式类似...2. reverse & primary & physics AnimatedList 与 ListView.builder 方式基本一致,但需要注意的是,不管是 ListView 还是 AnimatedList...默认都是会填充整个布局,设置 reverse 时会发现是从屏幕最底部作为起始位的; reverse: true, ?

1K50
领券