Skip to content

CollectionView.ag

XiongFangyu edited this page Nov 25, 2020 · 4 revisions

点击查看CollectionView的Demo

继承关系

CollectionView extends View

简介

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

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

构造方法

CollectionView() 构造方法

CollectionView(table sourceData) 构造方法

⚠️ 绑定数据源

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

API

bindData(table sourceData)

绑定数据

cell(string cellID, View cell)

绑定cell

cell(string cellID, View cell, function callback)

绑定cell

refreshEnable(boolean refreshEnable)

设置是否支持下拉刷新

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

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

是否正在下拉刷新

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

停止下拉刷新动画

refresh(function refreshingCallback)

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

loadEnable(boolean loadEnable)

设置是否支持加载更多

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

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

是否正在上拉加载

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

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

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

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

load(function loadingCallback)

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

spanCount(number count)

设置列数

获取列数

lineSpacing(number spacing)

设置行间距

获取行间距

itemSpacing(number spacing)

设置列间距

获取列间距

设置是否可以滚动

设置滚动方向

获取滚动方向

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

设置是否显示滚动指示器

获取是否显示滚动器状态

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)

滚动到指定位置

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

scrollToCell(number row, number section, boolean animate)

滚动到指定cell

滚动到列表顶部

loadThreshold(number loadThreshold)

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

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

刷新当前控件的所有数据

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只能更新单个

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数据,或越界刷新,否则有差异

cellSelected(function callback)

点击某行

cellLongPress(function callback)

长按某行

cellWillAppear(function callback)

cell将要展示的回调

cellDidDisappear(function callback)

cell已经消失后的回调

scrollBegin(function callback)

设置开始滚动回调

scrolling(function callback)

设置滚动中回调

endDragging(function callback)

设置拖拽结束回调,即拖动结束手指离开屏幕的瞬间

startDecelerating(function callback)

设置滚动开始减速的回调

scrollEnd(function callback)

设置滚动结束回调

cellReuseId(function callback)

设置回调复用ID

cellWithSectionRow(number section, number row)

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

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

是否在最顶端

openReuseCell(boolean openReuseCell)

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

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

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

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

Clone this wiki locally