StatusBar
用于控制应用状态栏的组件。状态栏通常位于屏幕顶部,用于显示当前时间、Wi-Fi 和蜂窝网络信息、电池电量和/或其他状态图标的区域。
与 Navigator 一起使用
可以同时挂载多个 StatusBar 组件。props 将按照 StatusBar 组件挂载的顺序进行合并。
- TypeScript
- JavaScript
命令式 API
对于不适合使用组件的情况,组件还通过静态函数公开了命令式 API。不过,不建议对同一个 prop 同时使用静态 API 和组件,因为静态 API 设置的任何值都会在下一次渲染时被组件设置的值覆盖。
参考
常量
currentHeight Android
状态栏的高度,如果存在刘海屏,还包括刘海屏高度。
Props
animated
状态栏属性发生变化时,是否应为过渡设置动画。支持 barStyle 和 hidden 属性。
| Type | Required | Default |
|---|---|---|
| boolean | 否 | false |
barStyle
设置状态栏文本的颜色。
在 Android 上,这只会对 API 版本 23 及更高版本产生影响。
| Type | Required | Default |
|---|---|---|
| StatusBarStyle | 否 | 'default' |
hidden
状态栏是否隐藏。
| Type | Required | Default |
|---|---|---|
| boolean | 否 | false |
showHideTransition iOS
使用 hidden prop 显示和隐藏状态栏时的过渡效果。
| Type | Default |
|---|---|
| StatusBarAnimation | 'fade' |
方法
popStackEntry()
React TSX
static popStackEntry(entry: StatusBarProps);
获取并从堆栈中移除最后一个 StatusBar 条目。
参数:
| Name | Type | Description |
|---|---|---|
| entry Required | any | 从 pushStackEntry 返回的条目。 |
pushStackEntry()
React TSX
static pushStackEntry(props: StatusBarProps): StatusBarProps;
将 StatusBar 条目推入堆栈。完成后,应将返回值传递给 popStackEntry。
参数:
| Name | Type | Description |
|---|---|---|
| props Required | any | 包含要在堆栈条目中使用的 StatusBar props 的对象。 |
replaceStackEntry()
React TSX
static replaceStackEntry(
entry: StatusBarProps,
props: StatusBarProps
): StatusBarProps;
使用新的 props 替换现有的 StatusBar 堆栈条目。
参数:
| Name | Type | Description |
|---|---|---|
| entry Required | any | 要替换的、从 pushStackEntry 返回的条目。 |
| props Required | any | 包含要在替换后的堆栈条目中使用的 StatusBar props 的对象。 |
setBarStyle()
React TSX
static setBarStyle(style: StatusBarStyle, animated?: boolean);
设置状态栏样式。
参数:
| Name | Type | Description |
|---|---|---|
| style Required | StatusBarStyle | 要设置的状态栏样式。 |
| animated | boolean | 为样式变化设置动画。 |
setHidden()
React TSX
static setHidden(hidden: boolean, animation?: StatusBarAnimation);
显示或隐藏状态栏。
参数:
| Name | Type | Description |
|---|---|---|
| hidden Required | boolean | 隐藏状态栏。 |
| animation iOS | StatusBarAnimation | 更改状态栏隐藏属性时使用的动画。 |
类型定义
StatusBarAnimation
用于 iOS 上过渡效果的状态栏动画类型。
| Type |
|---|
| enum |
常量:
| Value | Type | Description |
|---|---|---|
'fade' | string | 淡入淡出动画 |
'slide' | string | 滑动动画 |
'none' | string | 无动画 |
StatusBarStyle
状态栏样式类型。
| Type |
|---|
| enum |
常量:
| Value | Type | Description |
|---|---|---|
'default' | string | 默认状态栏样式(iOS 为深色,Android 为浅色) |
'light-content' | string | 白色文本和图标 |
'dark-content' | string | 深色文本和图标(Android 需要 API>=23) |