ListView:
它的同名构造方法中有几个参数需要说明
shrinkWrap: 当为 false 时,列表会在主轴方向上扩展到可占用的最大空间,反之列表占用的空间是其列表项高度之和,此时会耗费更多性能,每当列表项发生变化时,都会重新计算高度itemExtent:如果主轴是垂直方向,则代表的是子项的高度,如果主轴为水平方向,则代表的是子项的长度。指定 该值能提升性能,每当列表项发生变化时,都不需要重新计算addAutomaticKeepAlives:表示是否将列表项包裹在AutomaticKeepAlive中。在一个懒加载列表里,如果子项需要保证自己在滑出视口时不被回收,就需要设置为 true,内保就会使用KeepAliveNotification来保存其状态。如果子项要自己维护其KeepAlive状态,此参数必须置为falseaddRepaintBoundaries:表示是否将列表项包裹在RepaintBoundary中。为 true 时,可以避免列表项重绘,提高性能。但当列表项重绘的开销非常小(如一个颜色块,或者一个较短的文本)时,不添加 RepaintBoundary 反而会更高效
与ListView配套使用的,还有一个ListTile控件,用于列表的子项,当然也可以单独使用
| 属性名 | 类型 | 简述 |
|---|---|---|
| leading | Widget |
列表项左侧的图标 |
| title | Widget |
标题,通常放置文本控件 |
| subtitle | Widget |
副标题 |
| trailing | Widget |
列表项右侧的图标 |
| isThreeLine | bool |
内容是否可显示3行。为true,副标题最多显示2行 |
| dense | bool |
是否密集显示。为true时,内容及图标将会变小,显示更紧密 |
| contentPadding | EdgeInsetsGeometry |
内边距 |
| enabled | bool |
设为 false,可禁止点击事件 |
| onTap | GestureTapCallback |
单击事件回调 |
| onLongPress | GestureLongPressCallback |
长按事件回调 |
| selected | bool |
是否选中。为true时,文本和图标的颜色变为主题的主色 |
THE END






暂无评论内容