
Research
PyPI Package Disguised as Instagram Growth Tool Harvests User Credentials
A deceptive PyPI package posing as an Instagram growth tool collects user credentials and sends them to third-party bot services.
react-native-parallax-scrollview
Advanced tools
The Parallax ScrollView component we all deserve
This package has a dependency of React Native Elements. Install RNE first with:
yarn add react-native-elements
(make sure the version is 0.19.0
)
Finally install this package using yarn or npm:
yarn add react-native-parallax-scrollview
import ParallaxScrollView from 'react-native-parallax-scrollview';
<ParallaxScrollView />
<ParallaxScrollView
windowHeight={SCREEN_HEIGHT * 0.4}
backgroundSource='http://i.imgur.com/UyjQBkJ.png'
navBarTitle='John Oliver'
userName='John Oliver'
userTitle='Comedian'
userImage='http://i.imgur.com/RQ1iLOs.jpg'
leftIcon={{name: 'rocket', color: 'rgba(131, 175, 41, 1)', size: 30, type: 'font-awesome'}}
rightIcon={{name: 'user', color: 'rgba(193, 193, 193, 1)', size: 30, type: 'font-awesome'}}
/>
<ParallaxScrollView
windowHeight={SCREEN_HEIGHT * 0.4}
backgroundSource='http://i.imgur.com/UyjQBkJ.png'
navBarTitle='John Oliver'
userName='John Oliver'
userTitle='Comedian'
userImage='http://i.imgur.com/RQ1iLOs.jpg'
leftIcon={{name: 'rocket', color: 'rgba(193, 193, 193, 1)', size: 30, type: 'font-awesome'}}
rightIcon={{name: 'user', color: 'rgba(193, 193, 193, 1)', size: 30, type: 'font-awesome'}}
>
<ScrollView style={{flex: 1, backgroundColor: 'rgba(228, 117, 125, 1)'}}>
<View style={{height: 300, justifyContent: 'center', alignItems: 'center'}}>
<Text style={{fontSize: 32, color: 'white'}}>Custom view</Text>
</View>
<View style={{height: 300, justifyContent: 'center', alignItems: 'center'}}>
<Text style={{fontSize: 32, color: 'white'}}>keep going.</Text>
</View>
<View style={{height: 300, justifyContent: 'center', alignItems: 'center'}}>
<Text style={{fontSize: 32, color: 'white'}}>keep going..</Text>
</View>
<View style={{height: 300, justifyContent: 'center', alignItems: 'center'}}>
<Text style={{fontSize: 32, color: 'white'}}>keep going...</Text>
</View>
<View style={{height: 300, justifyContent: 'center', alignItems: 'center'}}>
<Text style={{fontSize: 32, color: 'white'}}>the end! :)</Text>
</View>
</ScrollView>
</ParallaxScrollView>
<ParallaxScrollView
windowHeight={SCREEN_HEIGHT}
backgroundSource='http://i.imgur.com/s4JEY9E.jpg'
navBarTitle='Custom Title'
navBarTitleColor='black'
navBarColor='white'
headerView={(
<View style={styles.headerView}>
<View style={styles.headerTextView}>
<Text style={styles.headerTextViewTitle}>My App</Text>
<Text style={styles.headerTextViewSubtitle}>
Custom Header View
</Text>
</View>
</View>
)}
leftIcon={{name: 'rocket', color: 'rgba(228, 117, 125, 1)', size: 30, type: 'font-awesome'}}
leftIconOnPress={() => this.setState({index: (this.state.index + 1 ) % 3})}
rightIcon={{name: 'user', color: 'rgba(228, 117, 125, 1)', size: 30, type: 'font-awesome'}}
rightIconOnPress={() => this.setState({index: (this.state.index + 1 ) % 3})}
>
<ScrollView style={{flex: 1, backgroundColor: 'rgba(228, 117, 125, 1)'}}>
<View style={{height: 300, justifyContent: 'center', alignItems: 'center'}}>
<Text style={{fontSize: 32, color: 'white'}}>Custom view</Text>
</View>
<View style={{height: 300, justifyContent: 'center', alignItems: 'center'}}>
<Text style={{fontSize: 32, color: 'white'}}>keep going.</Text>
</View>
<View style={{height: 300, justifyContent: 'center', alignItems: 'center'}}>
<Text style={{fontSize: 32, color: 'white'}}>keep going..</Text>
</View>
<View style={{height: 300, justifyContent: 'center', alignItems: 'center'}}>
<Text style={{fontSize: 32, color: 'white'}}>keep going...</Text>
</View>
<View style={{height: 300, justifyContent: 'center', alignItems: 'center'}}>
<Text style={{fontSize: 32, color: 'white'}}>the end! :)</Text>
</View>
</ScrollView>
</ParallaxScrollView>
prop | default | type | description |
---|---|---|---|
backgroundSource | {uri:http://i.imgur.com/6Iej2c3.png} | ImageSourcePropType | The background image for the header. The image source is (either a remote URL or a local file resource) backgroundSource={{uri:http://i.imgur.com/6Iej2c3.png}} or backgroundSource={require('./image.png')} |
onBackgroundLoadEnd | none | callback | Callback function when the background finishes loading (either with success or failure) |
onBackgroundLoadError | none | callback | Callback function when the background loading fails (an object is received with the error details) |
windowHeight | SCREEN_HEIGHT * 0.5 | number | The height of the header window |
navBarTitle | Katy Friedson | string | The title to be display on the NavBar header |
navBarTitleColor | 'white' | string | Color of the navBar title when displayed |
navBarColor | 'rgba(0, 0, 0, 1.0)' | string | Color of the navbar when shown |
navBarHeight | 65 | number | Height of the navBar when displayed |
navBarView | Left/Right Icons View | custom object | Pass in a custom object to override the default navigation bar view |
userName | Katy Friedson | string | The user name displayed in the collapsable header view |
userImage | http://i.imgur.com/uma9OfG.jpg | string | The user image displayed in the collapsable header view |
userTitle | Engineering Manager | string | The user title displayed in the collapsable header view |
headerView | Profile View | custom object | Pass in a custom object to override the default header view |
leftIcon | none | object | Pass in the left icon name and type as an object. leftIcon={{name: 'rocket', color: 'red', size: 30, type: 'font-awesome'}} |
leftIconOnPress | none | callback | Callback function when the left icon is pressed |
leftIconUnderlayColor | 'transparent' | string | Underlay color for the left icon. |
rightIcon | none | object | Pass in the right icon name and type etc as an object. rightIcon={{name: 'user', color: 'blue', size: 30, type: 'font-awesome'}} |
rightIconOnPress | none | callback | Callback function when the right icon is pressed |
rightIconUnderlayColor | 'transparent' | string | Underlay color for the right icon. |
children | List View | React Components | Render any react views/components as children and these will be rendered below the headerView |
You can try it out with Exponent here
Look at the example
folder to run the expo app locally.
Currently there are a couple packages that provide a similar parallax Scrollview component (here and here) although both of them are not maintained and wasn't exactly what I was looking for.
So I challenged myself to create a Parallax ScrollView component (using react-native-parallax-view as a base) with
<ParallaxScrollView />
)aka it's a (Parallax) ScrollView component for React Native that we truly deserve :rocket:
This repo is being actively manitained. Feel free to open a new Issue with a Feature Request
or submit a PR with an Enhancement
.
FAQs
The Parallax ScrollView component we all deserve
The npm package react-native-parallax-scrollview receives a total of 5 weekly downloads. As such, react-native-parallax-scrollview popularity was classified as not popular.
We found that react-native-parallax-scrollview demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
A deceptive PyPI package posing as an Instagram growth tool collects user credentials and sends them to third-party bot services.
Product
Socket now supports pylock.toml, enabling secure, reproducible Python builds with advanced scanning and full alignment with PEP 751's new standard.
Security News
Research
Socket uncovered two npm packages that register hidden HTTP endpoints to delete all files on command.