【发布时间】:2020-06-13 13:51:58
【问题描述】:
我正在尝试制作一个包含 3 个(或更多)元素的 react-native 滚动视图,其中屏幕中间的元素始终是正常元素大小的 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>
【问题讨论】:
标签: android css ios react-native