1.3.0 • Published 4 months ago

react-native-crossfade-image v1.3.0

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

React Native Crossfade Image

React Native component for changing images with crossfade transition effect when a new source prop received. Works as a replacement for React Native's Image or ImageBackground components, both local files and remote URLs supported.

teaser

Installation

yarn

yarn add react-native-crossfade-image

npm

npm install react-native-crossfade-image

Use as an image

Simply replace Image with CrossfadeImage in your component. Please note that you have to specify image dimensions using the style prop to avoid collapsing.

import React from 'react';
import { View, StyleSheet } from 'react-native';
import { CrossfadeImage } from 'react-native-crossfade-image';

const MyComponent = ({ imageSource }) => (
  <View style={styles.wrapper}>
    <CrossfadeImage style={styles.image} source={imageSource} resizeMode="cover" />
  </View>
);

const styles = StyleSheet.create({
  wrapper: {
    flex: 1,
    alignItems: 'center',
    justifyContent: 'center',
  },
  image: {
    width: 100,
    height: 100,
  },
});

export default MyComponent;

Use as a background image

You can provide children like you would with ImageBackground component. The content will be shown on top of the image. Adding blurRadius will create a nice blurred background effect.

import React from 'react';
import { StyleSheet, Text } from 'react-native';
import { CrossfadeImage } from 'react-native-crossfade-image';

const MyComponent = ({ imageSource }) => (
  <CrossfadeImage style={styles.background} source={imageSource} resizeMode="cover" blurRadius={50}>
    <Text style={styles.text}>Text over blurred background</Text>
  </CrossfadeImage>
);

const styles = StyleSheet.create({
  background: {
    flex: 1,
    alignItems: 'center',
    justifyContent: 'center',
  },
  text: {
    color: '#fff',
    fontSize: 20,
    fontWeight: 'bold',
  },
});

export default MyComponent;

Props

PropTypeDefaultDescription
sourceImageSourcePropTypeThe image source (either a remote URL or a local file resource).
durationnumber500Duration of the fade transition in ms.
easingEasingFunctionEasing.easeEasing function, see available options.
styleViewStyleStyle object applied to the wrapping View.
resizeModeImageResizeModecoverImage resize mode, see available options.
reverseFadebooleanfalseFade the images simultaneously so the old image fades out while the new image fades in. Use true for transparent images.
blurRadiusnumberThe blur radius of the blur filter applied to the image.
childrenReactNodeAny children provided will be shown on top of the image similar to ImageBackground component.

Example app demo

https://user-images.githubusercontent.com/4656448/172882419-c4712b98-3711-4dfb-85d7-ba56fa307dd8.mp4

Feedback

I appreciate your feedback, so please star the repository if you like it. This is the best motivation for me to maintain the package and add new features. If you have any feature requests, found a bug, or have ideas for improvement, feel free to open an issue.

License

Licensed under the MIT license.

1.3.0

4 months ago

1.2.3

5 months ago

1.2.0

11 months ago

1.2.2

10 months ago

1.2.1

10 months ago

1.1.1

1 year ago

1.1.0

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago