Home

Awesome

<h1 align="center"> <p align="center"> <a href="https://www.npmjs.com/package/react-native-shine-button"><img src="http://img.shields.io/npm/v/react-native-shine-button.svg?style=flat" /></a> <a href="https://github.com/prscX/react-native-shine-button/pulls"><img alt="PRs Welcome" src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg" /></a> <a href="https://github.com/prscX/react-native-shine-button#License"><img src="https://img.shields.io/npm/l/react-native-shine-button.svg?style=flat" /></a> </p>
ReactNative: Native Shine Button (Android/iOS)

If this project has helped you out, please support us with a star 🌟

</h1>

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

Android: ChadCSong/ShineButton & iOS: imwcl/WCLShineButton
<img src="./assets/hero.gif" />

📖 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:

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

PropTypeDefaultNote
shapestring OR react-native-vector-iconsThe type of Shine Button you want. It's props are heart, like, star, smile. Even you are specify a react-native-vector-icons
colorstring: HEX-COLORColor which you want then the Shine Button is not active
fillColorstring: HEX-COLORFill Color then the Shine Button is clicked
sizenumberSize of Shine Button
disabledboolDisabling the Shine Button
valueboolDefault value whether it is selected or not
onChangefuncIt 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: