flutter listview和adapter
本文于 2028 天之前发表,文中内容可能已经过时。
1. ListView.Builder()
builder属性详细介绍
1 | //设置滑动方向 Axis.horizontal 水平 默认 Axis.vertical 垂直 |
shrinkWrap特别推荐
child 高度会适配 item填充的内容的高度,我们非常的不希望child的高度固定,因为这样的话,如果里面的内容超出就会造成布局的溢出。
shrinkWrap多用于嵌套listView中 内容大小不确定 比如 垂直布局中 先后放入文字 listView (需要Expend包裹否则无法显示无穷大高度 但是需要确定listview高度 shrinkWrap使用内容适配不会有这样的影响)
primary
If the [primary] argument is true, the [controller] must be null.
在构造中默认是false 它的意思就是为主的意思,primary为true时,我们的controller 滑动监听就不能使用了
physics
这个属性几个滑动的选择
AlwaysScrollableScrollPhysics() 总是可以滑动
NeverScrollableScrollPhysics禁止滚动
BouncingScrollPhysics 内容超过一屏 上拉有回弹效果
ClampingScrollPhysics 包裹内容 不会有回弹
cacheExtent
这个属性的意思就是预加载的区域
设置预加载的区域 cacheExtent 强制设置为了 0.0,从而关闭了“预加载”
controller
滑动监听,我们多用于上拉加载更多,通过监听滑动的距离来执行操作。
问题记录
listview需要添加父布局,flex;1做到全屏拉伸,才会显示
Expanded下的listview无法置顶,需要设置padding:EdgeInsets.only(top: 0)