मैं एक Onscroll समारोह है कि इस तरह दिखता है के साथ एक FlatList है:प्रतिक्रिया स्थानीय Android FlatList Onscroll एनीमेशन
<Animated.View style={{ transform: [{translateX: this.state.scrollX}] }}>
<FlatList
data={ reactionGroup.reactions }
keyExtractor={ (i) => i.id + uuid.v4() }
renderItem={ this._renderItem }
horizontal={ true }
scrollEventThrottle={1}
onScroll={ reactionGroup.reactions.length > 1 ? this.onScroll : null }
showsHorizontalScrollIndicator={ false } />
</Animated.View>
onScroll(event) {
const { timing } = Animated
if (event.nativeEvent.contentOffset.x > 0) {
timing(
this.state.scrollX,
{ toValue: -60, duration: 100, useNativeDriver: true }
).start()
} else {
timing(
this.state.scrollX,
{ toValue: 0, duration: 100, useNativeDriver: true }
).start()
}
},
यह iOS पर अच्छा काम करता है, लेकिन Android के लिए एनीमेशन शुरू नहीं होगी जब तक FlatList स्क्रॉल बंद कर दिया है ।
मैं मूल रूप से एक एनीमेशन को मार रहा हूं जब उपयोगकर्ता स्क्रॉल करता है और क्षैतिज स्क्रॉल की शुरुआत में वापस जाने पर इसे वापस सेट करता है।
क्या इसे संभालने का कोई बेहतर तरीका है ताकि यह एंड्रॉइड पर काम कर सके?
मैंने ऐक्रोन.इवेंट को स्क्रॉल पर भी करने का प्रयास किया, लेकिन मैं सीधे स्क्रॉल स्थिति में एनीमेशन को टाई नहीं करना चाहता। स्क्रॉलिंग के दौरान इस दृष्टिकोण ने Android को एनिमेट करने की अनुमति दी, लेकिन यह बहुत ही विचित्र था।
आरएन: 0.43.3