0
目前我正在尝试与PanResponder一起玩,并且我有一个让图像为可拖动的想法,并且当用户在listview底部拖动图像时,listview renderRow( )只要用户没有改变图像的位置就会滚动。图像拖放激活滚动ListView(react-native)
到目前为止,我在做什么,只需要拖动图像和用户发布后它将返回相同的位置。
constructor(props) {
....
this.panResponder = PanResponder.create({
onStartShouldSetPanResponder :() => true,
onPanResponderMove: Animated.event([null,{
dx: this.state.pan.x,
dy: this.state.pan.y
}]),
onPanResponderRelease: (e, gesture) => {
Animated.spring(
this.state.pan,
{toValue:{x:0,y:0}}
).start();
}
});
}
renderDraggable(){
if(this.state.showDraggable){
return (
<View style={styles.draggableContainer}>
<Animated.View
{...this.panResponder.panHandlers}
style={[this.state.pan.getLayout(), styles.circle]}>
<Text>Drag me!</Text>
</Animated.View>
</View>
);
}
}
renderRow(rowData) {
return (
<View>
<Text style={styles.rowText}>{rowData}</Text>
</View>
);
}
render() {
return(
<View style={styles.list}>
<ListView
dataSource={ds.cloneWithRows(optionsArray[this.state.question].answerArr)}
renderRow={this.renderRow.bind(this)}
/>
{this.renderDraggable()}
</View>
);
}
谢谢!希望任何人都可以引导我并指向正确的方向..