Skip to content

CollectionView

xu_whale edited this page Sep 7, 2020 · 11 revisions

点击查看CollectionView的Demo

继承关系

CollectionView extends View

简介

CollectionView, 提供列表功能组件,支持水平、竖直方向滚动,非常适合长列表的展示

⚠️ iOS默认展示滚动指示条,android默认不展示

构造方法

CollectionView(boolean refreshEnable, boolean loadEnable) 构造方法

API

设置adapter

获取当前CollectionView绑定的adapter

设置layout

获取和CollectionView绑定的layout

⚠️ 建议使用CollectionViewLayout

openReuseCell(boolean openReuseCell)

设置是否打开多虚拟机cell重用

⚠️ 预留,不建议使用此方法

获取是否打开多虚拟机cell重用

⚠️ 预留,不建议使用此方法

设置滚动方向

获取滚动方向

⚠️ 支持横向ScrollDirection.HORIZONTAL、纵向ScrollDirection.VERTICAL

设置是否显示滚动指示器

获取是否显示滚动器状态

loadThreshold(number loadThreshold)

设置回调加载更多方法的阈值

获取提前加载更多内容的阈值,取值范围0~无穷大, 默认0

contentOffset(Point contentOffset)

设置内容偏移量

⚠️ contentOffset,即内容偏移量,我们把tableView内容的左上角坐标看做原点origin(0, 0),内容偏移量即为当前实现内容的左上角坐标pt与origin之间的差值contentOffset(pt.x - origin.x, pt.y - origin.y)

获取内容偏移量坐标

⚠️ contentOffset,即内容偏移量,我们把tableView内容的左上角坐标看做原点origin(0, 0),内容偏移量即为当前实现内容的左上角坐标pt与origin之间的差值contentOffset(pt.x - origin.x, pt.y - origin.y)

setScrollBeginCallback(function scrollBeginCallback)

设置开始滚动的回调

setScrollingCallback(function scrollingCallback)

设置滚动中的回调

setEndDraggingCallback(function endDraggingCallback)

设置停止拖拽的回调

setStartDeceleratingCallback(function startDeceleratingCallback)

设置开始减速滚动回调

刷新当前控件的所有数据

reloadAtRow(number row, number section, boolean animate)

重新加载指定cell

⚠️ 动画效果仅ios有效,使用时请勿改变其他cell的内容,否则两端会有差异:android可以更新多个cell,ios只能更新单个

reloadAtSection(number section, boolean animate)

重新渲染指定section的cell

⚠️ 动画效果仅ios有效,使用时请勿改变其他cell的内容,否则两端会有差异:android可以更新多个cell,ios只能更新单个

scrollToCell(number row, number section, boolean animate)

滚动到指定cell

滚动到列表顶部

是否在最顶端

deleteCellAtRow(number row, number section)

删除指定位置的cell

⚠️ 请勿改变多个cell,或其他cell数据,否则有差异

insertCellAtRow(number row, number section)

在指定位置插入cell

⚠️ 请勿改变多个cell,或其他cell数据,否则有差异,如果在屏幕外插入cell、可能会错位

insertCellsAtSection(number section, number startRow, number endRow)

在指定位置插入cell

⚠️ 请勿改变其他cell数据,或越界刷新,否则有差异

deleteCellsAtSection(number section, number startRow, number endRow)

删除指定位置cell

⚠️ 请勿改变其他cell数据,或越界刷新,否则有差异

pointAtIndexPath(number row, number section)

获取指定section、row的cell的起始坐标,仅iOS存在此方法

⚠️ 仅iOS存在此方法, 不建议使用

deleteRow(number row, number section, boolean animate)

删除指定位置的cell

⚠️ 请勿改变多个cell,或其他cell数据,否则有差异

insertRow(number row, number section, boolean animate)

在指定位置插入cell

⚠️ 请勿改变多个cell,或其他cell数据,否则有差异,如果在屏幕外插入cell、可能会错位

insertRowsAtSection(number section, number startRow, number endRow, boolean animate)

在指定位置插入cell

⚠️ 请勿改变其他section数据,或越界刷新,否则有差异

deleteRowsAtSection(number section, number startRow, number endRow, boolean animate)

删除指定位置cell

⚠️ 请勿改变其他section数据,或越界刷新,否则有差异

refreshEnable(boolean refreshEnable)

设置是否支持下拉刷新

⚠️ 默认false,需要增加刷新对应的handler处理,在刷新过程中关闭会导致视图抖动

获取是否支持下拉刷新状态

是否正在下拉刷新

移动到列表开头,并开始下拉刷新

停止下拉刷新动画

setRefreshingCallback(function refreshingCallback)

设置下拉刷新触发后的回调

loadEnable(boolean loadEnable)

设置是否支持加载更多

⚠️ 默认false,需要增加刷新对应的handler处理,在加载过程中关闭会导致视图抖动

获取是否支持加载更多状态

是否正在上拉加载

停止上拉加载,停止转圈动画

没有更多数据,之后再上拉不会触发loading回调

去除“没有更多数据”的状态,将状态变成普通状态

显示加载错误,android有效,iOS空实现

setLoadingCallback(function loadingCallback)

设置上拉加载触发后的回调

cellWithSectionRow(number section, number row)

返回指定位置的cell,只对屏幕内cell有效

返回当前屏幕展示的所有cell

设置是否可以滚动

滚动到指定位置

⚠️ iOS可用, android sdk version >= 1.5.0可用

i_bounces(boolean bounces)

设置是否开启弹性效果

⚠️ iOS私有方法,仅在必要时使用,使用时需判断平台

获取是否开启弹性效果

⚠️ iOS私有方法,仅在必要时使用,使用时需判断平台

设置是否开启横向弹性效果

⚠️ iOS私有方法,仅在必要时使用,使用时需判断平台

获取是否开启横向弹性效果

⚠️ iOS私有方法,仅在必要时使用,使用时需判断平台

设置是否开启垂直弹性效果

⚠️ iOS私有方法,仅在必要时使用,使用时需判断平台

获取是否开启垂直弹性效果

⚠️ iOS私有方法,仅在必要时使用,使用时需判断平台

Clone this wiki locally