prscX / react-native-shine-button

React Native: Native Shine Button - Effects like shining
Apache License 2.0
357 stars 37 forks source link
android ios react-native

PRs Welcome

ReactNative: Native Shine Button (Android/iOS) If this project has helped you out, please support us with a star 🌟

This library is a React Native bridge around native Siri wave animation:

Android: ChadCSong/ShineButton & iOS: imwcl/WCLShineButton

📖 Getting started

$ npm install react-native-shine-button --save

RN61 >= RNBAS V2 >

$ npm install react-native-image-helper --save

$ npm install react-native-vector-icons --save

Please add below snippet into your app build.gradle

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

RN61 >= RNBAS V1 >

RN61+ please use react-native-shine-button V1 and above

Please add below snippet into your app build.gradle

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

RN60 < RNBAS V1 <

RN60 below please use react-native-bottom-action-sheet V.0.*

Android

jackOptions {
    enabled true
}
buildscript {
    repositories {
        jcenter()
        google()
        maven { url "https://jitpack.io" }
    }

}

allprojects {
    repositories {
        jcenter()
        google()
        maven { url "https://jitpack.io" }
    }
}

Note: This library is supported on Android SDK 27 > above

iOS

💻 Usage

import RNShineButton from 'react-native-shine-button'
;<RNShineButton
  shape={'heart'}
  color={'#808080'}
  fillColor={'#ff0000'}
  size={100}
/>

Icons

import RNShineButton from 'react-native-shine-button'
import Icon from 'react-native-vector-icons/FontAwesome'

let music = <Icon family={'FontAwesome'} name={'music'} color={'#808080'} />

;<RNShineButton
  shape={music}
  color={'#808080'}
  fillColor={'#ff0000'}
  size={100}
/>

Note:

  • We have added family prop for Icon class, please make sure that you pass the props

Note: Since we are using native libraries, we have not found a solution in order to render RN Images in production, therefore please copy all your image assets in platform specific folders:

Please refer example application for the image usage.

💡 Props

Prop Type Default Note
shape string OR react-native-vector-icons The type of Shine Button you want. It's props are heart, like, star, smile. Even you are specify a react-native-vector-icons
color string: HEX-COLOR Color which you want then the Shine Button is not active
fillColor string: HEX-COLOR Fill Color then the Shine Button is clicked
size number Size of Shine Button
disabled bool Disabling the Shine Button
value bool Default value whether it is selected or not
onChange func It is invoke then the value of shine button is change

✨ Credits

🤔 How to contribute

Have an idea? Found a bug? Please raise to ISSUES. Contributions are welcome and are greatly appreciated! Every little bit helps, and credit will always be given.

💫 Where is this library used?

If you are using this library in one of your projects, add it in this list below. ✨

📜 License

This library is provided under the Apache License.

RNShineButton @ prscX

💖 Support my projects

I open-source almost everything I can, and I try to reply everyone needing help using these projects. Obviously, this takes time. You can integrate and use these projects in your applications for free! You can even change the source code and redistribute (even resell it).

However, if you get some profit from this or just want to encourage me to continue creating stuff, there are few ways you can do it: