全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

React-Native 组件之 Modal的使用详解

Modal组件可以用来覆盖包含React Native根视图的原生视图(如UIViewController,Activity),用它可以实现遮罩的效果。

属性

Modal提供的属性有:

animationType(动画类型) PropTypes.oneOf([‘none', ‘slide', ‘fade']

  • none:没有动画
  • slide:从底部滑入
  • fade:淡入视野

onRequestClose(被销毁时会调用此函数)

在 ‘Android' 平台,必需调用此函数

onShow(模态显示的时候被调用)

transparent (透明度) bool

为true时,使用透明背景渲染模态。

visible(可见性) bool

onOrientationChange(方向改变时调用)

在模态方向变化时调用,提供的方向只是 ” 或 ”。在初始化渲染的时候也会调用,但是不考虑当前方向。

supportedOrientations(允许模态旋转到任何指定取向)[‘portrait', ‘portrait-upside-down', ‘landscape','landscape-left','landscape-right'])

在iOS上,模态仍然受 info.plist 中的 UISupportedInterfaceOrientations字段中指定的限制。

示例

Modal的使用非常简单,例如:

<Modal
 animationType='slide'      // 从底部滑入 
 transparent={false}       // 不透明
 visible={this.state.isModal}  // 根据isModal决定是否显示
 onRequestClose={() => {this.onRequestClose()}} // android必须实现
 >

综合例子:

import React, { Component} from 'react';
import {
  AppRegistry,
  View,
  Modal,
  TouchableOpacity,
  Text
} from 'react-native';
export default class ModalView extends Component {
  constructor(props) {
    super(props);
    this.state = {
      modalVisible: false,
    }
  }
  setModalVisible = (visible)=> {
    this.setState({
      modalVisible: visible
    })
  };
  render(){
    return(
      <View style={{flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor: '#ffaaff'}}>
        <Modal animationType={'none'}
            transparent={true}
            visible={this.state.modalVisible}
            onrequestclose={() => {alert("Modal has been closed.")}}
            onShow={() => {alert("Modal has been open.")}}
            supportedOrientations={['portrait', 'portrait-upside-down', 'landscape', 'landscape-left', 'landscape-right']}
            onOrientationChange={() => {alert("Modal has been OrientationChange.")}}>
          <View style={{flex:1, marginTop: 22, backgroundColor: '#aaaaaa', justifyContent: 'center', alignItems: 'center'}}>
            <View>
              <Text>Hello World!</Text>
              <TouchableOpacity onPress={() => {
                this.setModalVisible(false)
              }}>
                <Text>隐藏 Modal</Text>
              </TouchableOpacity>
            </View>
          </View>
        </Modal>
        <TouchableOpacity onPress={() => {
          this.setModalVisible(true)
        }}>
          <Text>显示 Modal</Text>
        </TouchableOpacity>
      </View>
    )
  }
}
AppRegistry.registerComponent('ModalView', ()=>ModalView);

 运行效果:

从 modal 的源码可以看出,modal 其实就是使用了 绝对定位,所以当 modal 无法满足我们的需求的时候,我们就可以通过 绝对定位 自己来封装一个 modal

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# React-Native  # Modal  # React  # Native组件Modal  # Modal.confirm是否违反了React模式分析  # React报错之组件不能作为JSX组件使用的解决方法  # react中使用ant组件库的modal弹窗报错问题及解决  # 模态  # 滑入  # 也会  # 可以看出  # 可以实现  # 用它  # 大家多多  # 就可以  # 可以用来  # 不透明  # 使用了  # 见性  # landscape  # upside  # left  # iOS  # onOrientationChange  # info  # portrait  # supportedOrientations 


相关文章: 如何选择最佳自助建站系统?快速指南解析优劣  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  制作网站公司那家好,网络公司是做什么的?  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  建站之星图片链接生成指南:自助建站与智能设计教程  Python文件管理规范_工程实践说明【指导】  制作网站的公司有哪些,做一个公司网站要多少钱?  网站制作员失业,怎样查看自己网站的注册者?  如何在阿里云服务器自主搭建网站?  如何在建站主机中优化服务器配置?  免费制作小说封面的网站有哪些,怎么接网站批量的封面单?  如何选择美橙互联多站合一建站方案?  如何选择网络建站服务器?高效建站必看指南  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  ,在苏州找工作,上哪个网站比较好?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  如何解决ASP生成WAP建站中文乱码问题?  网站制作难吗安全吗,做一个网站需要多久时间?  长沙做网站要多少钱,长沙国安网络怎么样?  公司网站的制作公司,企业网站制作基本流程有哪些?  网站制作报价单模板图片,小松挖机官方网站报价?  如何设计高效校园网站?  如何挑选优质建站一级代理提升网站排名?  电商网站制作公司有哪些,1688网是什么意思?  如何在IIS中新建站点并解决端口绑定冲突?  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  如何在阿里云高效完成企业建站全流程?  如何快速查询网址的建站时间与历史轨迹?  如何做网站制作流程,*游戏网站怎么搭建?  如何在阿里云虚拟服务器快速搭建网站?  唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?  如何通过商城自助建站源码实现零基础高效建站?  威客平台建站流程解析:高效搭建教程与设计优化方案  建站168自助建站系统:快速模板定制与SEO优化指南  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  高防服务器租用首荐平台,企业级优惠套餐快速部署  香港服务器部署网站为何提示未备案?  视频网站制作教程,怎么样制作优酷网的小视频?  实例解析Array和String方法  江苏网站制作公司有哪些,江苏书法考级官方网站?  Android自定义控件实现温度旋转按钮效果  如何用已有域名快速搭建网站?  电商网站制作价格怎么算,网上拍卖流程以及规则?  定制建站价位费用解析与套餐推荐全攻略  建站主机助手选型指南:2025年热门推荐与高效部署技巧  内网网站制作软件,内网的网站如何发布到外网?  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  桂林网站制作公司有哪些,桂林马拉松怎么报名? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。