前言


  • 遗漏的常用组件,刚发现官方有提供,这边也来介绍一下。
  • 如本文有错或理解偏差欢迎联系我,会尽快改正更新!
  • 如有什么问题,也可直接通过邮箱 277511806@qq.com 联系我。

本章涉及资源下载:

链接: https://pan.baidu.com/s/1o84o6JS 密码: htx6

属性


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

    • none:没有动画
    • slide:从底部滑入
    • fade:淡入视野
  • onRequestClose(被销毁时会调用此函数)Platform.OS ==='android'?PropTypes.func.isRequired:PropTypes.func

    • 在 'Android' 平台,必需使用此函数
  • onShow(模态显示的时候被调用)function

  • transparent (透明度) bool

    • true时,使用透明背景渲染模态。
  • visible(可见性) bool

    • 决定模态是否可见
  • onOrientationChange(方向改变时调用)PropTypes.func

    • 在模态方向变化时调用,提供的方向只是 '' 或 ''。在初始化渲染的时候也会调用,但是不考虑当前方向。
  • supportedOrientations(允许模态旋转到任何指定取向)PropTypes.arrayOf(PropTypes.oneOf(['portrait', 'portrait-upside-down', 'landscape','landscape-left','landscape-right']))

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

modal 基本使用


  • modal的使用很广泛,这边我们来看看怎么让视图以模态的形式展示:

    	export default class One extends Component {
    
    	    // 构造
    constructor(props) {
    super(props);
    // 初始状态
    this.state = {
    isModal:false
    };
    } showModal() {
    this.setState({
    isModal:true
    })
    } onRequestClose() {
    this.setState({
    isModal:false
    });
    } render() {
    return(
    <View style={styles.container}>
    {/* 初始化Modal */}
    <Modal
    animationType='slide' // 从底部滑入
    transparent={false} // 不透明
    visible={this.state.isModal} // 根据isModal决定是否显示
    onRequestClose={() => {this.onRequestClose()}} // android必须实现
    >
    <View style={styles.modalViewStyle}>
    {/* 关闭页面 */}
    <TouchableOpacity
    onPress={() => {{
    this.setState({
    isModal:false
    })
    }}}
    >
    <Text>关闭页面</Text>
    </TouchableOpacity>
    </View>
    </Modal> {/* 返回按钮 */}
    <TouchableOpacity
    onPress={() => {{
    this.props.navigator.pop()
    }}}
    >
    <Text>返回</Text>
    </TouchableOpacity> {/* 模态跳转 */}
    <TouchableOpacity
    onPress={() => this.showModal()}
    >
    <Text>模态跳转</Text>
    </TouchableOpacity>
    </View>
    );
    }
    }

modal 使用 —— 指示器


  • 这边我们再来做一个经常使用的功能 —— 指示器

    	export default class One extends Component {
    
    	    // 构造
    constructor(props) {
    super(props);
    // 初始状态
    this.state = {
    isModal:false
    };
    } showModal() {
    this.setState({
    isModal:true
    }) setTimeout(() => {
    this.setState({
    isModal:false
    });
    }, 1500)
    } onRequestClose() {
    this.setState({
    isModal:false
    });
    } render() {
    return(
    <View style={styles.container}>
    {/* 初始化Modal */}
    <Modal
    animationType='fade' // 淡入淡出
    transparent={true} // 透明
    visible={this.state.isModal} // 根据isModal决定是否显示
    onRequestClose={() => {this.onRequestClose()}} // android必须实现
    >
    <View style={styles.modalViewStyle}>
    <View style={styles.hudViewStyle}>
    <ActivityIndicator style={styles.chrysanthemumStyle}></ActivityIndicator>
    <Text style={styles.hudTextStyle}>加载中…</Text>
    </View>
    </View>
    </Modal> {/* 返回按钮 */}
    <TouchableOpacity
    onPress={() => {{
    this.props.navigator.pop()
    }}}
    >
    <Text>返回</Text>
    </TouchableOpacity> {/* 显示指示器 */}
    <TouchableOpacity
    onPress={() => this.showModal()}
    >
    <Text>显示指示器</Text>
    </TouchableOpacity>
    </View>
    );
    }
    }

总结


  • modal 的源码可以看出,modal 其实就是使用了 绝对定位,所以当 modal 无法满足我们的需求的时候,我们就可以通过 绝对定位 自己来封装一个 modal 了,对吧,时间关系,这边就不讲了,大伙自己试试就可以了。

React-Native 之 Modal介绍与使用的更多相关文章

  1. React Native之 ScrollView介绍和使用

    前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会有所 ...

  2. React Native 之 Touchable 介绍与使用

    前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会有所 ...

  3. React Native之FlexBox介绍和使用

    # 前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会 ...

  4. React Native项目组织结构介绍

    代码组织: 目录结构: . ├── components //组成应用的各个组件 │   ├── Routers.android.js //每个组件若实现不一样,分为android的实现和ios的实现 ...

  5. React Native 之 组件化开发

    前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会有所 ...

  6. 使用Visual Studio Code和typescript 开发调试React Native项目

    关于React Native的详细介绍我就不叙述了,他是使用js构建原声app的开发框架.一次变异多平台运行,非常强大.但是个人不喜欢js的过于灵活(弱类型)的语法.强大的强类型语言Typescrip ...

  7. React Native 教程:001 - 如何运行官方控件示例 App

    原文发表于我的技术博客 本文主要讲解了如何运行 React Native 官方控件示例 App,包含了一些 React Native 的基础知识以及相关环境的配置. 原文发表于我的技术博客 React ...

  8. React Native从入门到放弃之环境搭建

    官网 https://facebook.github.io/react-native/ 中文网站 http://reactnative.cn/ 相关文档 http://www.lcode.org/史上 ...

  9. React Native创建一个APP

    React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iOS 和 Android 原生应用.在 JavaScript 中用 React 抽 ...

  10. React Native v0.4 发布,用 React 编写移动应用

    React Native v0.4 发布,自从 React Native 开源以来,包括超过 12.5k stars,1000 commits,500 issues,380 pull requests ...

随机推荐

  1. 用LSTM分类 MNIST

    LSTM是RNN的一种算法, 在序列分类中比较有用.常用于语音识别,文字处理(NLP)等领域. 等同于VGG等CNN模型在在图像识别领域的位置.  本篇文章是叙述LSTM 在MNIST 手写图中的使用 ...

  2. python爬虫之requests模块介绍

    介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) #注意:requests库发送请求将网页内容下 ...

  3. 【转】adb操作命令详解及大全

    adb是什么?:adb的全称为Android Debug Bridge,就是起到调试桥的作用.通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具.a ...

  4. CTF---Web入门第八题 Guess Next Session

    Guess Next Session分值:10 来源: iFurySt 难度:易 参与人数:3870人 Get Flag:1672人 答题人数:1690人 解题通过率:99% 写个算法没准就算出来了, ...

  5. x64_dbg破解64位WinSnap4.5.6图文视频教程

    一.软件简单介绍: WinSnap是一个轻巧.快速.简单.友好的截图工具,提供屏幕截图和图像编辑功能.和其它截图软件相比其最大亮点在于WinSnap可以捕获或去除Win7的 Aero玻璃效果.WinS ...

  6. DFS中的奇偶剪枝学习笔记

    奇偶剪枝学习笔记 描述 编辑 现假设起点为(sx,sy),终点为(ex,ey),给定t步恰好走到终点, s | | | + — — — e 如图所示(“|”竖走,“—”横走,“+”转弯),易证abs( ...

  7. NYOJ201作业题

    作业题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 小白同学这学期有一门课程叫做<数值计算方法>,这是一门有效使用数字计算机求数学问题近似解的方法与过程, ...

  8. hdu_1012(水题。。。不能再水)

    #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> using ...

  9. SecureCRT连接虚拟机中的Linux系统(Ubuntu)_Linux教程

    有道云笔记链接地址: https://note.youdao.com/share/?id=826781e7ca1fd1223f6a43f4dc2c9b5d&type=note#/

  10. zzuli oj 1134 字符串转换

    题目链接: https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1134 Description 输入一个以回车结束的字符串,它由数字和字母组成,请过滤掉 ...