StatusBar
用于控制应用程序状态栏的组件。状态栏通常位于屏幕顶部,显示当前时间、Wi-Fi 和蜂窝网络信息、电池电量和/或其他状态图标。
与 Navigator 结合使用
可以同时挂载多个 StatusBar
组件。它们的 props 将按照 StatusBar
组件的挂载顺序合并。
- TypeScript
- JavaScript
命令式 API
对于不适合使用组件的情况,组件还提供了作为静态函数公开的命令式 API。但是,不建议对同一个 prop 同时使用静态 API 和组件,因为静态 API 设置的任何值都会在下一次渲染时被组件设置的值覆盖。
参考
常量
currentHeight
Android
状态栏的高度,如果存在刘海,则包含刘海高度。
属性
animated
状态栏属性更改之间的过渡是否应该有动画效果。支持 backgroundColor
、barStyle
和 hidden
属性。
类型 | 必需 | 默认 |
---|---|---|
布尔值 | 否 | false |
backgroundColor
Android
状态栏的背景颜色。
由于 Android 15 中引入了全面屏强制执行,设置状态栏背景颜色在 API 级别 35 中已弃用,设置后将不起作用。您可以在此处阅读有关我们全面屏建议的更多信息。
类型 | 必需 | 默认 |
---|---|---|
颜色 | 否 | 系统默认状态栏背景色,如果未定义则为 'black' |
barStyle
设置状态栏文本的颜色。
在 Android 上,这仅对 API 版本 23 及更高版本有效。
类型 | 必需 | 默认 |
---|---|---|
StatusBarStyle | 否 | 'default' |
hidden
状态栏是否隐藏。
类型 | 必需 | 默认 |
---|---|---|
布尔值 | 否 | false |
networkActivityIndicatorVisible
iOS
网络活动指示器是否可见。
类型 | 默认 |
---|---|
布尔值 | false |
showHideTransition
iOS
使用 hidden
prop 显示和隐藏状态栏时的过渡效果。
类型 | 默认 |
---|---|
StatusBarAnimation | 'fade' |
translucent
Android
状态栏是否半透明。当 translucent 设置为 true
时,应用程序将在状态栏下方绘制。这在使用半透明状态栏颜色时很有用。
由于 Android 15 中引入了全面屏强制执行,将状态栏设置为半透明在 API 级别 35 中已弃用,设置后将不起作用。您可以在此处阅读有关我们全面屏建议的更多信息。
类型 | 默认 |
---|---|
布尔值 | false |
方法
popStackEntry()
static popStackEntry(entry: StatusBarProps);
从堆栈中获取并移除最后一个 StatusBar 条目。
参数
姓名 | 类型 | 描述 |
---|---|---|
entry 必需 | 任何 | 从 pushStackEntry 返回的条目。 |
pushStackEntry()
static pushStackEntry(props: StatusBarProps): StatusBarProps;
将 StatusBar 条目推入堆栈。返回的值应在完成后传递给 popStackEntry
。
参数
姓名 | 类型 | 描述 |
---|---|---|
props 必需 | 任何 | 包含要在堆栈条目中使用的 StatusBar props 的对象。 |
replaceStackEntry()
static replaceStackEntry(
entry: StatusBarProps,
props: StatusBarProps
): StatusBarProps;
用新的 props 替换现有的 StatusBar 堆栈条目。
参数
姓名 | 类型 | 描述 |
---|---|---|
entry 必需 | 任何 | 从 pushStackEntry 返回的要替换的条目。 |
props 必需 | 任何 | 包含要在替换堆栈条目中使用的 StatusBar props 的对象。 |
setBackgroundColor()
Android
static setBackgroundColor(color: ColorValue, animated?: boolean);
设置状态栏的背景颜色。
由于 Android 15 中引入了全面屏强制执行,设置状态栏背景颜色在 API 级别 35 中已弃用,设置后将不起作用。您可以在此处阅读有关我们全面屏建议的更多信息。
参数
姓名 | 类型 | 描述 |
---|---|---|
颜色 必需 | 字符串 | 背景颜色。 |
animated | 布尔值 | 动画化样式更改。 |
setBarStyle()
static setBarStyle(style: StatusBarStyle, animated?: boolean);
设置状态栏样式。
参数
姓名 | 类型 | 描述 |
---|---|---|
style 必需 | StatusBarStyle | 要设置的状态栏样式。 |
animated | 布尔值 | 动画化样式更改。 |
setHidden()
static setHidden(hidden: boolean, animation?: StatusBarAnimation);
显示或隐藏状态栏。
参数
姓名 | 类型 | 描述 |
---|---|---|
hidden 必需 | 布尔值 | 隐藏状态栏。 |
animation iOS | StatusBarAnimation | 更改状态栏隐藏属性时的动画。 |
setNetworkActivityIndicatorVisible()
iOS
static setNetworkActivityIndicatorVisible(visible: boolean);
控制网络活动指示器的可见性。
参数
姓名 | 类型 | 描述 |
---|---|---|
visible 必需 | 布尔值 | 显示指示器。 |
setTranslucent()
Android
static setTranslucent(translucent: boolean);
控制状态栏的半透明度。
由于 Android 15 中引入了全面屏强制执行,将状态栏设置为半透明在 API 级别 35 中已弃用,设置后将不起作用。您可以在此处阅读有关我们全面屏建议的更多信息。
参数
姓名 | 类型 | 描述 |
---|---|---|
translucent 必需 | 布尔值 | 设置为半透明。 |
类型定义
StatusBarAnimation
iOS 上状态栏过渡的动画类型。
类型 |
---|
枚举 |
常量
值 | 类型 | 描述 |
---|---|---|
'fade' | 字符串 | 淡入淡出动画 |
'slide' | 字符串 | 滑动动画 |
'none' | 字符串 | 无动画 |
StatusBarStyle
状态栏样式类型。
类型 |
---|
枚举 |
常量
值 | 类型 | 描述 |
---|---|---|
'default' | 字符串 | 默认状态栏样式(iOS 为深色,Android 为浅色) |
'light-content' | 字符串 | 白色文本和图标 |
'dark-content' | 字符串 | 深色文本和图标(Android 需要 API >= 23) |