2.5.1 • Published 8 years ago

react-native-modal-dgjoy v2.5.1

Weekly downloads
3
License
ISC
Repository
github
Last release
8 years ago

react-native-modal

npm version styled with prettier

An enhanced, animated and customizable react-native modal.

Features

  • Smooth enter/exit animations
  • Plain simple and flexible APIs
  • Customizable backdrop opacity, color and timing
  • Listeners for the modal animations ending
  • Resize itself correctly on device rotation

Demo

Setup

This library is available on npm, install it with: npm install --save react-native-modal or yarn add react-native-modal.

Usage

import React, { Component } from 'react'
import { Text, TouchableOpacity, View } from 'react-native'
import Modal from 'react-native-modal'

export default class ModalTester extends Component {
  state = {
    isModalVisible: false
  }

  _showModal = () => this.setState({ isModalVisible: true })

  _hideModal = () => this.setState({ isModalVisible: false })

  render () {
    return (
      <View style={{ flex: 1 }}>
        <TouchableOpacity onPress={this._showModal}>
          <Text>Show Modal</Text>
        </TouchableOpacity>
        <Modal isVisible={this.state.isModalVisible}>
          <View style={{ flex: 1 }}>
            <Text>Hello!</Text>
          </View>
        </Modal>
      </View>
    )
  }

}

For a more complex example take a look at the /example directory.

Available props

NameTypeDefaultDescription
animationInstring'slideInUp'Modal show animation
animationInTimingnumber300Timing for the modal show animation (in ms)
animationOutstring'slideOutDown'Modal hide animation
animationOutTimingnumber300Timing for the modal hide animation (in ms)
backdropColorstring'black'The backdrop background color
backdropOpacitynumber0.70The backdrop opacity when the modal is visible
backdropTransitionInTimingnumber300The backdrop show timing (in ms)
backdropTransitionOutTimingnumber300The backdrop hide timing (in ms)
hideOnBackbooltrueHide the modal on back button press?
onBackButtonPressfunc() => nullCalled when the Android back button is pressed
isVisibleboolREQUIREDShow the modal?
childrennodeREQUIREDThe modal content
onModalShowfunc() => nullCalled when the modal is completely visible
onModalHidefunc() => nullCalled when the modal is completely hidden
styleanynullStyle applied to the modal

Avaliable animations

Take a look at react-native-animatable for available animations.
Pull requests, feedbacks and suggestions are welcome!

P.S.: Thanks @oblador for react-native-animatable, @brentvatne for the npm namespace and to anyone who contributed to this library!