【React Native】文件翻譯閱讀紀錄 - Components(組件) - Modal
Facebook Open Source React Native |
Modal
Modal 組件是一種在封閉視圖上方顯示內容的簡單方法。
注意:如果您需要更多地控制如何在應用程序的其餘部分上顯示模態,請考慮使用頂級導航器。
import React, {Component} from 'react';
import {Modal, Text, TouchableHighlight, View} from 'react-native';
class ModalExample extends Component {
state = {
modalVisible: false,
};
setModalVisible(visible) {
this.setState({modalVisible: visible});
}
render() {
return (
<View style={{marginTop: 22}}>
<Modal
animationType="slide"
transparent={false}
visible={this.state.modalVisible}
onRequestClose={() => {
alert('Modal has been closed.');
}}>
<View style={{marginTop: 22}}>
<View>
<Text>Hello World!</Text>
<TouchableHighlight
onPress={() => {
this.setModalVisible(!this.state.modalVisible);
}}>
<Text>Hide Modal</Text>
</TouchableHighlight>
</View>
</View>
</Modal>
<TouchableHighlight
onPress={() => {
this.setModalVisible(true);
}}>
<Text>Show Modal</Text>
</TouchableHighlight>
</View>
);
}
}
Props
visible
supportedOrientations
onRequestClose
onShow
transparent
animationType
hardwareAccelerated
onDismiss
onOrientationChange
presentationStyle
animated
Reference
Props
visible
可見道具確定您的模態是否可見。
TYPE | REQUIRED |
---|---|
bool | No |
supportedOrientations
supportedOrientations prop允許將模態旋轉到任何指定的方向。在iOS上,模式仍受限於應用程序的Info.plist的UISupportedInterfaceOrientations字段中指定的內容。使用pageSheet或formSheet的presentationStyle時,iOS將忽略此屬性。
TYPE | REQUIRED | PLATFORM |
---|---|---|
array of enum('portrait', 'portrait-upside-down', 'landscape', 'landscape-left', 'landscape-right') | No | iOS |
onRequestClose
當用戶點擊Android上的硬件返回按鈕或Apple TV上的菜單按鈕時,將調用onRequestClose回調。由於這個必需的道具,請注意只要模態打開,就不會發出BackHandler事件。
TYPE | REQUIRED | PLATFORM |
---|---|---|
function | Yes | Android, Platform.isTVOS |
function | No | (Others) |
onShow
onShow prop允許傳遞一個函數,該函數將在模態顯示後調用。
TYPE | REQUIRED |
---|---|
function | No |
transparent
透明道具確定您的模態是否會填滿整個視圖。將此設置為true將在透明背景上呈現模態。
TYPE | REQUIRED |
---|---|
bool | No |
animationType
animationType prop控制模態動畫的方式。
slide
滑動從底部滑入fade
淡入淡出視野none
沒有動畫就會出現
默認設置為無。
TYPE | REQUIRED |
---|---|
enum('none', 'slide', 'fade') | No |
hardwareAccelerated
hardwareAccelerated prop 控制是否強制基礎窗口的硬件加速。
TYPE | REQUIRED | PLATFORM |
---|---|---|
bool | No | Android |
onDismiss
onDismiss prop允許傳遞一個在模態被解除後將被調用的函數。
TYPE | REQUIRED | PLATFORM |
---|---|---|
function | No | iOS |
onOrientationChange
在顯示模態時方向更改時,將調用onOrientationChange回調。提供的方向僅為“肖像”或“風景”。無論當前方向如何,也會在初始渲染時調用此回調。
TYPE | REQUIRED | PLATFORM |
---|---|---|
function | No | iOS |
presentationStyle
presentationStyle prop控制模式的顯示方式(通常在較大的設備上,如iPad或加大尺寸的iPhone)。有關詳細信息,請參閱 https://developer.apple.com/reference/uikit/uimodalpresentationstyle .
fullScreen
完全覆蓋屏幕pageSheet
包含居中的縱向寬度視圖(僅適用於較大的設備)formSheet
包含居中的窄寬視圖(僅適用於較大的設備)overFullScreen
完全覆蓋屏幕,但允許透明度
默認設置為overFullScreen或fullScreen,具體取決於透明屬性。
TYPE | REQUIRED | PLATFORM |
---|---|---|
enum('fullScreen', 'pageSheet', 'formSheet', 'overFullScreen') | No | iOS |
0 意見