我正在尝试让ScrollView
自动播放并尝试以下实现:
componentDidMount() {
this._interval = setInterval(() => {
this._scrollViewX+=1;
this._scrollView.scrollTo({x: this._scrollViewX, y: 0, animated: true}) },
800
);
}
渲染():
<ScrollView
ref={(c) => {this._scrollView = c;}}
horizontal={true}>
<View style={{paddingTop: '3%', flex: 1, width: 900, flexDirection: "row", flexWrap: 'wrap'}}>
{this.props.data.map((item, index) => {
return (
<View
style={{margin:4, marginHorizontal:12}}
key={index}>
<TextItemToggle
value={item}
onPress={(value)=>{this._onPressHandler(value)}}
/>
</View>
)
})}
</View>
</ScrollView>
我还尝试了0.1
的增量,16
ms间隔。他们似乎都有些迟钝。有没有更好的方法来实现这个?
答案 0 :(得分:0)
您在ComponenDidMount()上执行此操作,该操作将考虑更新屏幕的整个组件生命周期。 I am sure你can not control滚动的速度。您可以animated:true
或false
,也就是它。