netdown / react-native-grid-image-viewer

A grid display for multiple images which you can view on clicking in fullscreen mode and swipe through.

Home Page:https://www.npmjs.com/package/react-native-grid-image-viewer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

react-native-grid-image-viewer

The Package can be found at react-native-grid-image-viewer.

A grid display for multiple images which you can view on clicking in fullscreen mode and swipe through.

Key Points

  • Grid Image Viewer
  • Full Screen Mode Image Viewer
  • Max Lightweight Component
  • No Dependency, No Configuration
  • Click on image to view full screen
  • Smooth Animation
  • Swipe image to navigate to next image
  • Available for iOS and Android
  • Also works with Expo

Installation

npm i react-native-grid-image-viewer --save

or

yarn add react-native-grid-image-viewer

Usage

Class component

import React from 'react';
import { View, StyleSheet, Text } from 'react-native';
import GridImageView from 'react-native-grid-image-viewer';

export default class App extends Component {
  constructor(props) {
    super(props);
  }
  render() {
    return (
       <View style={styles.background}>
      <Text style={styles.headline_text}>Grid View Images</Text>
      <Text style={styles.explore_text}>Click on an image to view in full screen mode</Text>

      <GridImageView data={[{ image: 'url' }, { image: 'url' }, { image: 'url' }, { image: 'url' }]} />
    </View>
    );
  }
};

const styles = StyleSheet.create({
  background: {
    backgroundColor: 'black',
    flex: 1
  },
  headline_text: {
    color: 'white',
    fontSize: 30,
    fontWeight: 'bold',
    marginTop: 50,
    marginLeft: 20
  },
  explore_text: {
    marginTop: 5,
    marginBottom: 10,
    color: 'white',
    marginLeft: 20,
    fontSize: 12,
    fontWeight: '600'
  },
});

Functional component

import React from 'react';
import { View, StyleSheet, Text } from 'react-native';
import GridImageView from 'react-native-grid-image-viewer';

const App = () => {
  return (
    <View style={styles.background}>
      <Text style={styles.headline_text}>Grid View Images</Text>
      <Text style={styles.explore_text}>Click on an image to view in full screen mode</Text>

      <GridImageView data={[{ image: 'url' }, { image: 'url' }, { image: 'url' }, { image: 'url' }]} />
    </View>
  );
};

const styles = StyleSheet.create({
  background: {
    backgroundColor: 'black',
    flex: 1
  },
  headline_text: {
    color: 'white',
    fontSize: 30,
    fontWeight: 'bold',
    marginTop: 50,
    marginLeft: 20
  },
  explore_text: {
    marginTop: 5,
    marginBottom: 10,
    color: 'white',
    marginLeft: 20,
    fontSize: 12,
    fontWeight: '600'
  },
});

export default App;

Props

Prop Type Description
data array List of images to be displayed in the grid should be in the form: [{image: url1}, {image: url2}, ...]
headers json Pass headers, for instance to restrict access. Eg. {'Authorization': 'Bearer ' + 'TOKEN'}
renderGridImage function(item, defaultStyle) => Node Optional. Custom function to render each image in grid view. Default style must be applied on the returned node and the image itself (if different).
renderModalImage function(item, defaultStyle) => Node Optional. Custom function to render each image in modal view. Default style must be applied on the node.

License

This project is licensed under the MIT License - see LICENSE.md for details

Author

Made by Anshul Singh

About

A grid display for multiple images which you can view on clicking in fullscreen mode and swipe through.

https://www.npmjs.com/package/react-native-grid-image-viewer

License:MIT License


Languages

Language:JavaScript 52.8%Language:Java 22.0%Language:Objective-C 15.6%Language:Starlark 6.8%Language:Ruby 2.8%