Module for react-native to show android like toast messages on both Android and iOS with customisations.
This package is available on npm, install it with: npm install --save rn-custom-toast
-
Import rn-custom-toast to your project:
import { Toast } from 'rn-custom-toast' -
Create a toast and add reference to it:
<Toast ref="toast" /> -
Whenever you want to open toast call the function like this:
this.refs.toast.show(Message to display, Options Object)
Example Code: this.refs.toast.show("This is a toast", {theme: "dark"});
- Close the toast (Optional ,since by default it closes automatically):
this.refs.toast.hide()
import React, { Component } from "react"; import { View, Text, TouchableOpacity } from "react-native"; import { Toast } from "rn-custom-toast"; export default class App extends Component { render() { return ( <View> <TouchableOpacity onPress={() => { this.refs.toast.show("I am a toast", { shadow: false, theme: "dark", position: "bottom", animation: "slide", showCloseButton: false, duration: "short", animationDuration: 500 }); }} > <Text>Display Toast</Text> </TouchableOpacity> <TouchableOpacity onPress={() => { this.refs.toast.hide(); }} > <Text>Hide Toast</Text> </TouchableOpacity> <Toast ref="toast" /> </View> ); } } For a much detailed example take a look at the /examples directory.
| Name | Type | Default | Possible Values |
|---|---|---|---|
| theme | String | light | ["light","dark","success","danger","warning","info"] |
| position | String | bottom | ["top","bottom"] |
| animation | String | fade | ["fade","slide"] |
| duration | String or Integer | short | ["short","long"] or Milliseconds |
| showCloseButton | bool | true | [true,false] |
| animationDuration | Integer | 300 | Milliseconds |
| shadow | bool | true | [true,false] |
| customTheme | object | null | |
| customTheme.container | styles object | null | {backgroundColor: 'red'} |
| customTheme.closeContainer | styles object | null | {backgroundColor: 'red'} |
| customTheme.text | styles object | null | {color: 'blue'} |
| customTheme.closeText | styles object | null | {color: 'blue'} |
Pull requests, suggestions and feedbacks are welcome!
