Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (react-native-lightbox-gallery) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
react-native-lightbox-gallery
a fork of react-native-image-viewing React Native modal component for viewing images as a sliding gallery.
- 🔥Pinch zoom for both iOS and Android
- 🔥Double tap to zoom for both iOS and Android
- 🔥Supports swipe-to-close animation
- 🔥Custom header and footer components
- 🔥Uses VirtualizedList to optimize image loading and rendering
Try react-native-image-viewing with Expo: https://expo.io/@antonkalinin/react-native-image-viewing
Installation
yarn add react-native-image-viewingor
npm install --save react-native-image-viewingUsage
import ImageView from 'react-native-image-viewing';
const images = [
{
uri: 'https://images.unsplash.com/photo-1571501679680-de32f1e7aad4',
},
{
uri: 'https://images.unsplash.com/photo-1573273787173-0eb81a833b34',
},
{
uri: 'https://images.unsplash.com/photo-1569569970363-df7b6160d111',
},
];
const [visible, setIsVisible] = useState(false);
<ImageView
images={images}
imageIndex={0}
visible={visible}
onRequestClose={() => setIsVisible(false)}
/>;Props
| Prop name | Description | Type | Required |
|---|---|---|---|
images |
Array of images to display | ImageSource[] | true |
keyExtractor |
Uniqely identifying each image | (imageSrc: ImageSource, index: number) => string | false |
imageIndex |
Current index of image to display | number | true |
visible |
Is modal shown or not | boolean | true |
onRequestClose |
Function called to close the modal | function | true |
onImageIndexChange |
Function called when image index has been changed | function | false |
onLongPress |
Function called when image long pressed | function (event: GestureResponderEvent, image: ImageSource) | false |
delayLongPress |
Delay in ms, before onLongPress is called: default 800 |
number | false |
animationType |
Animation modal presented with: default fade |
none, fade, slide |
false |
presentationStyle |
Modal presentation style: default: fullScreen Android: Use overFullScreen to hide StatusBar |
fullScreen, pageSheet, formSheet, overFullScreen |
false |
backgroundColor |
Background color of the modal in HEX (#000000EE) | string | false |
swipeToCloseEnabled |
Close modal with swipe up or down: default true |
boolean | false |
doubleTapToZoomEnabled |
Zoom image by double tap on it: default true |
boolean | false |
HeaderComponent |
Header component, gets current imageIndex as a prop |
component, function | false |
FooterComponent |
Footer component, gets current imageIndex as a prop |
component, function | false |
- type ImageSource = ImageURISource | ImageRequireSource