Я пытаюсь создать собственный прокручиваемый вид с 3 (или более) элементами, в котором элемент в середине экрана всегда в 1,75 раза больше нормального размера элемента, и при прокрутке размер изменяется динамически. Могу ли я найти, когда элемент находится в центре экрана, будет ли изменяться размер прокрутки? Можно ли обойтись без какого-то сложного математического подхода? Я пытался установить условия для стилей всех элементов, но не могу найти способ определить, когда условие выполнено.
handleScroll(event) {
var x = event.nativeEvent.contentOffset.x;
var page = x / this.state.totalWidth;
this.setState({ position: page })
}
isElementFocused(start, stop) {
return (this.state.position >= start && this.state.position < stop);
}
Элемент:
<View style={styles.swipeBox,
{
backgroundColor: this.isElementFocused(1, 2) ? this.getColor(1) : colors.primary,
width: this.isElementFocused(1, 2) ? this.getWidth(1) : this.state.baseWidth,
height: this.isElementFocused(1, 2) ? this.getHeight(1) : this.state.baseHeight,
}}>
<Text>test</Text>
</View>