我具有将此功能集中在Flatlist
(水平)中的项:
centralizeItem = (index) => {
const WIDTH = scale(95)
let centerSize
if (index === 0) centerSize = (WIDTH*1.5) * -1
if (index === 1) centerSize = (WIDTH/2) * -1
if (index === 2) centerSize = (WIDTH/2)
if (index === 3) centerSize = (WIDTH*(index/2))
if (index === 4) centerSize = (WIDTH*(index/2+0.5)) // 2.5
if (index === 5) centerSize = (WIDTH*(index/2+1)) // 3.5
if (index === 6) centerSize = (WIDTH*(index/2+1.5)) //4.5
return centerSize
}
此公式返回一个偏移值,以使用
滚动到y值this.refs.listRef.scrollToOffset({offset: this.centralizeItem(index) })
选中该项目后,上面的代码就会触发
但是,Flatlist
呈现了很多数据,而不仅仅是7个索引,并且该公式不可行。
我需要一个遵循上述函数变化形式的公式
答案 0 :(得分:1)
您可以计算公式并计算因子。
centralizeItem = index => scale(95) * (index - 1.5);