У меня есть эта функция для централизации элемента в 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, и эта формула неосуществима.
Мне нужна следующая формулаприведенные выше изменения в функции