模态框
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
Modal 组件是在包含视图上方展示内容的基础方式。
示例
参考
属性
View 属性
继承 View 属性。
animated
已弃用。 请改用
animationType属性。
animationType
animationType 属性控制模态框的动画效果。
可选值:
-
slide从底部滑入 -
fade淡入显示 -
none无动画显示
| Type | Default |
|---|---|
enum('none', 'slide', 'fade') | none |
backdropColor
模态框的 backdropColor(或其容器的背景色)。当 transparent 为 false 时默认为 white。若 transparent 为 true 则此属性无效。
| Type | Default |
|---|---|
| color | white |
hardwareAccelerated Android
hardwareAccelerated 属性控制是否强制底层窗口使用硬件加速。
| Type | Default |
|---|---|
| bool | false |
navigationBarTranslucent Android
navigationBarTranslucent 属性决定模态框是否延伸到系统导航栏下方。但要使导航栏透明,还需将 statusBarTranslucent 设为 true。
| Type | Default |
|---|---|
| bool | false |
onDismiss iOS
onDismiss 属性接收的函数会在模态框关闭后被调用。
| Type |
|---|
| function |
onOrientationChange iOS
onOrientationChange 回调在模态框显示期间设备方向改变时触发。方向参数仅限 'portrait'(竖屏)或 'landscape'(横屏)。此回调在初始渲染时也会触发,无论当前方向如何。
| Type |
|---|
| function |
onRequestClose
当用户点击 Android 的返回键或 Apple TV 的菜单键时,会触发 onRequestClose 回调。因此需注意:只要模态框处于打开状态,BackHandler 事件将不会被触发。
在 iOS 上,当 presentationStyle 为 pageSheet or formSheet 时,通过拖拽手势关闭模态框也会触发此回调。
| Type |
|---|
| function Required Android TV function iOS |
onShow
onShow 属性接收的函数会在模态框显示后被调用。
| Type |
|---|
| function |
presentationStyle iOS
presentationStyle 属性控制模态框的呈现方式(通常在 iPad 或 Plus 版 iPhone 等较大设备上生效)。详见 https://developer.apple.com/reference/uikit/uimodalpresentationstyle。
可选值:
-
fullScreen完全覆盖屏幕 -
pageSheet居中显示竖屏宽度视图(仅较大设备) -
formSheet居中显示窄宽度视图(仅较大设备) -
overFullScreen完全覆盖屏幕且允许透明效果
| Type | Default |
|---|---|
enum('fullScreen', 'pageSheet', 'formSheet', 'overFullScreen') | fullScreen if transparent={false}overFullScreen if transparent={true} |
statusBarTranslucent Android
statusBarTranslucent 属性决定模态框是否延伸到系统状态栏下方。
| Type | Default |
|---|---|
| bool | false |
supportedOrientations iOS
supportedOrientations 属性允许模态框旋转至指定方向。在 iOS 上,模态框仍受限于应用 Info.plist 文件中 UISupportedInterfaceOrientations 字段的设定。
当
presentationStyle设置为pageSheet或formSheet时,iOS 将忽略此属性。
| Type | Default |
|---|---|
array of enums('portrait', 'portrait-upside-down', 'landscape', 'landscape-left', 'landscape-right') | ['portrait'] |
transparent
transparent 属性决定模态框是否填充整个视图。设为 true 时,模态框将在透明背景上渲染。
| Type | Default |
|---|---|
| bool | false |
visible
visible 属性控制模态框是否可见。
| Type | Default |
|---|---|
| bool | true |