🔔 Alert..!! Get 2 Month Free Cloud Hosting With $200 Bonus From Digital Ocean ACTIVATE DEAL

The React Native component allows you to make beautiful material design dialogs for both Android and iOS with lots of configurations to suit your need.

Modal_Popup React Native

Documentation

npm version

This library is deprecated, you can use the dialog component in https://github.com/callstack/react-native-paper instead.

React Native Material Design Dialog

Description

Make beautiful material design dialogs for both Android and IOS with lots of configurations to suit your need

Installation

$ npm install react-native-md-dialog --save

Try with Exponent

[![Exponent Button][2]][1] [1]: https://getexponent.com/@ahmedlhanafy/MaterialDesignDialogExample [2]: https://raw.githubusercontent.com/ahmedlhanafy/react-native-md-dialog/master/imgs/run_with_exp.png

Screenshots

One Button Dialog

Android IOS

Code

import Dialog, {      DialogButton  } from 'react-native-md-dialog';  ...  <Dialog actions={[<DialogButton text='CLOSE' onPress={() => this.refs.dialog.close()} position='right'/>]} ref='dialog'>     <View style={styles.dialogConatiner}>         <Text >             I'm a dialog with a close button         </Text>     </View> </Dialog>

Multiple Buttons Dialog

Android IOS

Code

import Dialog, {      DialogButton  } from 'react-native-md-dialog';  ...  <Dialog      actions={[         <DialogButton text='INCREMENT' onPress={() => this.setState({ numberOfClicks: this.state.numberOfClicks + 1})}/>,         <DialogButton text='OK' onPress={() => this.refs.dialog.close()}/>,         <DialogButton text='DISABLED' disabled={true} position='left' />     ]}      ref='dialog'>     <View style={styles.dialogConatiner}>         <Text >             I'm a dialog with multiple btns, {this.state.numberOfClicks}         </Text>         </View> </Dialog>

Styles Dialog

Android IOS

Code

import Dialog, {      DialogButton  } from 'react-native-md-dialog';  ...  <Dialog      backgroundColor='#3f51b5'      titleColor='#d81b60'     actions={[         <DialogButton text='DISABLED' disabled={true} position='left' color='#ffeb3b' />,                     <DialogButton text='OK' onPress={() => this.refs.dialog.close()} color='#d81b60'/>     ]}      ref='dialog'>     <View style={styles.dialogConatiner}>         <Text>Dialogs with custom styles</Text>     </View> </Dialog>

Scrollable Content Dialog

Android IOS

Code

import Dialog, {      DialogButton  } from 'react-native-md-dialog';  ...  <Dialog      actions={[         <DialogButton text='DONE' onPress={() => this.refs.dialog.close()} />     ]}      ref='dialog'     maxHeight={280}>     <ScrollView>         <View style={styles.dialogConatiner}>             <Text style={{ color: 'rgba(0,0,0,0.8)', fontSize: 16 }}>                 ...             </Text>         </View>     </ScrollView> </Dialog>

<Dialog/> props

Prop Description Type Default
actions Array of <DialogButton/> components PropTypes.array None
style React Native style object `PropTypes.object
title Dialog's tilte. PropTypes.string Dialog
titleColor Color of dialog's tilte. PropTypes.string rgba(0,0,0,0.8)
backgroundColor Dialog's background color. PropTypes.string white
dismissable Determines if clicking outside the dialog closes the dialog or not. PropTypes.bool false
animationDuration Duration of closing and opening the dialog. PropTypes.number 200
width Dialog's width. PropTypes.number deviceWidth - 48
maxHeight Dialog's max height. PropTypes.number 420

<DialogButton/> props

Prop Description Type Default
text Button's text PropTypes.string None
disabled Determines whether the button is enabled or not PropTypes.bool false
onPress Determines the action when button is pressed PropTypes.func None
color Text color of the button PropTypes.string #009688
position Determines where to put the button PropTypes.string right

Dialog's methods

Name Description
open() Opens the dialog
close() Closes the dialog

You May Also Like