- ⚡ 120 FPS
- 🤏 Pinch to zoom
- 🤞 Double tap
- ✌️ Swipe-to-close
- 📦 Tiny
- 🚀 Created with Typescript
- 💅 Highly customizable
image-viewer.mp4
Uses Reanimated and Gesture Handler under the hood. Created for my social network app, Rybun.
yarn add react-native-reanimated-image-viewer
You will need Reanimated and Gesture Handler installed in your project.
Import the ImageViewer into a new screen. You can also use a Modal, but you will need to configure the Gesture Handler on Android.
import ImageViewer from "react-native-reanimated-image-viewer";
import { GestureHandlerRootView } from "react-native-gesture-handler";
export default function App() {
const imageUrl = "https://images.pexels.com/photos/994605/pexels-photo-994605.jpeg?auto=compress&cs=tinysrgb&w=2726&h=2047&dpr=1"
return (
<GestureHandlerRootView style={{flex: 1}}>
<ImageViewer
imageUrl={imageUrl} width={2726} height={2047} onRequestClose={() => {}}
/>
</GestureHandlerRootView>
);
}
Property | Default | Type | Required |
---|---|---|---|
imageUrl |
undefined |
string |
true |
width |
undefined |
number |
true |
height |
undefined |
number |
true |
onRequestClose |
undefined |
() => unknown |
true |
onSingleTap |
undefined |
() => unknown |
false |