Skip to content

InterfaceKit/react-native-interactive-image-gallery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
alvaromb
Apr 18, 2018
078d2af ยท Apr 18, 2018

History

30 Commits
Nov 15, 2017
Apr 18, 2018
Nov 14, 2017
Nov 14, 2017
Nov 14, 2017
Nov 14, 2017
Nov 14, 2017
Nov 7, 2017
Apr 18, 2018
Nov 14, 2017
Nov 23, 2017
Apr 18, 2018
Nov 14, 2017

Repository files navigation

react-native-interactive-image-gallery

A React Native component to display a gallery of images.

iOS Android

Getting started

$ yarn addreact-native-interactive-image-gallery

Mostly automatic installation

$ react-native link react-native-interactive-image-gallery

Manual installation

iOS

  1. In Xcode, in the project navigator, right click Libraries โžœ Add Files to [your project's name]
  2. Go to node_modules โžœ react-native-interactive-image-gallery and add RNIKInteractiveImageLibrary.xcodeproj
  3. In XCode, in the project navigator, select your project. Add libRNIKInteractiveImageLibrary.a to your project's Build Phases โžœ Link Binary With Libraries
  4. Run your project (Cmd+R)<

Android

No additional setup needed.

Usage

import ImageBrowser from 'react-native-interactive-image-gallery'

class Images extends React.PureComponent<Props> {
  render() {
    const imageURLs: Array<Object> = this.props.images.map(
      (img: Object, index: number) => ({
        URI: img.uri,
        thumbnail: img.thumbnail,
        id: String(index),
        title: img.title,
        description: img.description
      })
    )
    return <ImageBrowser images={imageURLs} />
  }
}

API

The <ImageBrowser /> component accepts the following props

Props

Prop Type Mandatory
images Array<ImageSource> Yes
onPressImage Function
topMargin number
closeText string
infoTitleStyles Animated.View.style
infoDescriptionStyles Animated.View.style
enableTilt (experimental, iOS only) boolean

Where ImageSource represents

ImageSource

Name Type Mandatory
id string Yes
URI string Yes
thumbnail string Yes
title string
description string

Aknowledgements

Thanks to Eric Vicenti (https://github.com/ericvicenti) and his talk at React Native EU 2017 called "Practical Hacks for delightful interactions" for the inspiration and the iOS animations present in this library

The main idea of the library and some parts of the code were inspired or taken from his presentation, available at this repo.

License

MIT.

Author

รlvaro Medina Ballester <amedina at apsl.net>

Built with ๐Ÿ’› by APSL.