UNPKG

rn-glitch-effect

Version:

A react-native library that glitches some text

153 lines (129 loc) 5.89 kB
# rn-glitch-effect # Welcome to Glitch Effect :wave: ![glitch(1)](https://user-images.githubusercontent.com/49838612/108607576-f4dc3a80-739f-11eb-80bc-13863f83bdaf.gif) ![glitch-button](https://user-images.githubusercontent.com/49838612/108607413-14bf2e80-739f-11eb-80cd-916449e94b6d.gif) ![image-glitch](https://user-images.githubusercontent.com/49838612/108854996-3d297180-75c7-11eb-8db5-ed190c63aa41.gif) ## What is React native Glitch Effect? - Is a simple way to glitch your text and images. ## Instalation ```javascript npm i rn-glitch-effect ``` # Properties - Glitch | props | description | default value | | | ------------------- | ------------------- | ------------------- | ------------------- | | text | Your text label that's going to be displayed. | empty | <b>String</b>| | glitchHeight | The height that you want your glitch effect will have. | 80 | <b>Integer</b>| | glitchAmplitude | The amplitude of your glitch. In other words, how far your effect will be from the main text. | 5 | <b>Integer</b>| | glitchDuration | The duration of your glitch effect. | 1500 | <b>Milisseconds</b>| | repeatDelay | How long time your effect will wait, to start another turn of effect. | 2000 | <b>Milisseconds</b>| | shadowColor | The shadow color of your effect. | #add8e6 | <b>rgb</b>| | textStyle | The style that you want to give to your text. | {color: '#000000',fontWeight: 'bold',letterSpacing: 3,} | <b>Object</b>| | heightInputRange | The input range to the interpolation of main animation. With this you can control each part of your effect height. | [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100] | <b>array</b>| | positionYInputRange | The input range to the interpolation of main animation. With this you can control each part of your effect position. | [0, 10, 20, 30, 60, 65, 70, 80, 90, 100] | <b>array</b>| | outOfTextRange | Will make your effect get out of the range from your text | false | <b>Boolean</b>| | disableAutoAnimation | enable or disabled your animation | false | <b>Boolean</b>| # Properties - GlitchImage | props | description | default value | | | ------------------- | ------------------- | ------------------- | ------------------- | | glitchHeight | The height that you want your glitch effect will have. | 200 | <b>Integer</b>| | glitchAmplitude | The amplitude of your glitch. In other words, how far your effect will be from the main text. | 5 | <b>Integer</b>| | glitchDuration | The duration of your glitch effect. | 1500 | <b>Milisseconds</b>| | repeatDelay | How long time your effect will wait, to start another turn of effect. | 2000 | <b>Milisseconds</b>| | shadowColor | The shadow color of your effect. | #add8e6 | <b>rgb</b>| | imageStyle | The style that you want to give to your text. | {width: 400,height: 200} | <b>Object</b>| | heightInputRange | The input range to the interpolation of main animation. With this you can control each part of your effect height. | [0, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110] | <b>array</b>| | positionYInputRange | The input range to the interpolation of main animation. With this you can control each part of your effect position. | [0, 10, 20, 30, 60, 65, 70, 80, 90, 100] | <b>array</b>| | disableAutoAnimation | enable or disabled your animation | false | <b>Boolean</b>| | source | Your image path. | false | <b>String</b>| # Usage Basic Glitch - You can use this with or without the View container ```javascript import React from 'react'; import {View, StyleSheet} from 'react-native'; import {Glitch} from 'rn-glitch-effect'; const App = () => { return ( <View style={styles.containerWithBg}> <Glitch text={'GLITCH'} mainColor={'black'} shadowColor={'green'} /> </View> ); }; const styles = StyleSheet.create({ containerWithBg: {backgroundColor: 'red', marginBottom: '5%'}, }); export default App; ``` Glitch with Button - You can use this with a button wrapping your text and define if it will activate the glitch when clicked ```javascript import React, {useRef} from 'react'; import {TouchableHighlight, StyleSheet} from 'react-native'; import {Glitch} from 'rn-glitch-effect'; const App = () => { const ref = useRef(); return ( <View style={[styles.container]}> <TouchableHighlight onPress={() => { ref.current.animate(); }} style={[styles.containerWithBg]}> <Glitch text={'RESPONSIVE'} ref={ref} mainColor={'black'} shadowColor={'pink'} disableAutoAnimation={true} /> </TouchableHighlight> </View> ); }; const styles = StyleSheet.create({ container: {flex: 1, justifyContent: 'center', alignItems: 'center'}, containerWithBg: {backgroundColor: 'red', marginBottom: '5%'}, }); export default App; ``` ```javascript import React from 'react'; import {StyleSheet, View} from 'react-native'; import {Glitch, GlitchImage} from 'rn-glitch-effect'; import Gator from './assets/images/gator.jpeg'; const App = () => { return ( <View style={[styles.container]}> <View style={styles.containerWithBg}> <Glitch text={'GLITCH'} mainColor={'black'} shadowColor={'green'} outOfTextRange={false} /> <GlitchImage shadowColor={'red'} mainColor={'black'} source={Gator} /> </View> </View> ); }; const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor: 'white', }, containerWithBg: {backgroundColor: 'red', marginBottom: '5%'}, image: { width: 400, height: 200, }, }); export default App; ``` # End of the line :) If you have any ideia to contribute with this project, please make your self home.