react-native-animated-scroll-indicators
v1.0.1
Published
Animated Scoll Indicator component fro react-native powered by Animated-api.
Downloads
340
Maintainers
Readme
react-native-animated-scroll-indicators
A package to display instagram-like animated scroll indicators on iOS as well as android. Works with Animated.Scrollview and Animated.Flatlist.
Installation
Using npm:
npm install --save react-native-animated-scroll-indicators
or using yarn:
yarn add react-native-animated-scroll-indicators
Basic
| Prop | Default | Type | Description |
| :------------- | :-------------: | :------: | :---------------------------------------------------------------------------------------------------------- |
| scrollWidth | - | Number
| This is the width of pagination of scrollview. |
| numberOfCards | - | Number
| This number decides the number of dots which should be equivalent to the number of pages in the scrollview. |
| scrollAnimatedValue | - | Animated.Value
| This animated value is the derived from onScroll event from scrollview|
| activeColor | '#8F9499' | String
| Color of the dot indicator when it is active. |
| inActiveColor | '#fff' | String
| Color of the dot indicator when it is inactive. |
Usage
import RNAnimatedScrollIndicators from 'react-native-animated-scroll-indicators';
...
scrollX = new Animated.Value(0);
render() {
return (
<SafeAreaView style={{ flex: 1 }}>
<View style={{ flex: 1 }}>
<Animated.ScrollView
horizontal
pagingEnabled
showsHorizontalScrollIndicator={false}
contentContainerStyle={{ flexGrow: 1 }}
onScroll={Animated.event(
[{ nativeEvent: { contentOffset: { x: this.scrollX } } }],
{ useNativeDriver: true })}
>
<View style={{ flex: 1, backgroundColor: 'white', width }} />
<View style={{ flex: 1, backgroundColor: 'gray', width }} />
<View style={{ flex: 1, backgroundColor: 'white', width }} />
<View style={{ flex: 1, backgroundColor: 'gray', width }} />
<View style={{ flex: 1, backgroundColor: 'white', width }} />
<View style={{ flex: 1, backgroundColor: 'gray', width }} />
<View style={{ flex: 1, backgroundColor: 'white', width }} />
</Animated.ScrollView>
<View style={{
left: 0,
right: 0,
bottom: 0,
zIndex: 100,
marginBottom: 20,
position: 'absolute'
}}>
<RNAnimatedScrollIndicators
numberOfCards={7}
scrollWidth={width}
activeColor={'black'}
inActiveColor={'pink'}
scrollAnimatedValue={this.scrollX}
/>
</View>
</View>
</SafeAreaView>
);
}
...