監(jiān)聽ScrollView滾動距離進行操作是很常見的事茎匠,例如根據(jù)滾動距離顯示或者隱藏NavigationBar咙鞍,一般都是用ScrollView.onScroll回調函數(shù)獲取败徊。
ScrollView.onScroll是ScrollView組件的一個回調函數(shù)涧团,用于在滾動視圖滾動時觸發(fā)相應的操作簇抵。它會在滾動過程中不斷地被調用允瞧,因此如果在回調函數(shù)中執(zhí)行了大量的計算或操作简软,可能會影響性能。為了優(yōu)化ScrollView.onScroll的性能述暂,可以考慮減少回調函數(shù)中的計算量痹升,或者使用throttle或debounce等技術來限制回調函數(shù)的觸發(fā)頻率。
如果在滾動視圖滾動時需要執(zhí)行一些復雜的動畫或交互效果畦韭,那么使用Animated.event可能會更加合適疼蛾,因為它提供了更強大的動畫控制能力。但如果只是需要在滾動視圖滾動時執(zhí)行一些簡單的操作艺配,那么使用ScrollView.onScroll可能會更加方便和高效察郁。
<Animated.ScrollView
? ? ? ? style={{ flex: 1 }}
? ? ? ? scrollEventThrottle={16}
? ? ? ? showsVerticalScrollIndicator={false}
? ? ? ? onScroll={Animated.event(
? ? ? ? ? [{ nativeEvent: { contentOffset: { y: scrollY } } }],
? ? ? ? ? { useNativeDriver: true }
? ? ? ? )}
? ? ? >
PS: 注意Android的狀態(tài)欄設置和iOS不一樣,要重新設置顏色