react-native

React Native Modal 自定义Dialog

2018-05-09  本文已影响228人  小熊_c37d

React Native Modal 自定义Dialog

Modal

Modal组件可以用来覆盖包含React Native根视图的原生视图(如UIViewController,Activity)。

在嵌入React Native的混合应用中可以使用Modal。Modal可以使你应用中RN编写的那部分内容覆盖在原生视图上显示。

属性

Demo演示


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


export default class DialogDemo extends Component {

    constructor(props) {
        super(props);//这一句不能省略,照抄即可
        this.state = {
            animationType: 'fade',//none slide fade
            modalVisible: false,//模态场景是否可见
            transparent: true,//是否透明显示
        };
    }
    render() {

        return <Modal
            animationType={this.state.animationType}
            transparent={this.state.transparent}
            visible={this.state.modalVisible}
            onRequestClose={() => {
                this._setModalVisible(false)
            }}
            onShow={this.startShow}
        >
            <View style={{justifyContent :'center', flex:1,backgroundColor:'rgba(0, 0, 0, 0.5)' }}>

                <View style={{ marginLeft:50,marginRight:50,alignItems:'center', backgroundColor:'white',borderRadius:5}}>
                <Text>哗啦啦</Text>
                <Text>哗啦啦</Text>
                <Text>哗啦啦</Text>
                <Text>哗啦啦</Text>
                <Text>哗啦啦</Text>
                <Text>哗啦啦</Text>
                </View>
            </View>
        </Modal>
    }

    _setModalVisible = (visible) => {
        this.setState({modalVisible: visible});
    }
    startShow = () => {
     //   alert('开始显示了');
    }


}

调用

 return <View style={{flex: 1,}}>
              <DialogDemo
                ref="dialog"
                />
               <Button
                    onPress={() => {
                        this.refs.dialog._setModalVisible(true);

                    }
                    }
                    title="点击现实dialog"
                />
            </View>



图片.png
上一篇 下一篇

猜你喜欢

热点阅读