跳到主要内容
版本:0.79

StatusBar

用于控制应用状态栏的组件。状态栏通常是屏幕顶部的区域,显示当前时间、Wi-Fi 和蜂窝网络信息、电池电量和/或其他状态图标。

与 Navigator 一起使用

可以同时挂载多个 StatusBar 组件。属性将按照 StatusBar 组件挂载的顺序进行合并。

命令式 API

对于不使用组件不理想的情况,还有一个作为组件上的静态函数暴露的命令式 API。然而,不建议对同一属性同时使用静态 API 和组件,因为静态 API 设置的任何值将在下一次渲染时被组件设置的值覆盖。


参考

常量

currentHeight
Android

状态栏的高度,包括缺口(notch)高度(如果存在)。


属性

animated

状态栏属性变化之间的过渡是否应该动画化。支持 backgroundColorbarStylehidden 属性。

类型是否必填默认值
booleanfalse

backgroundColor
Android

状态栏的背景颜色。

注意

由于 Android 15 引入的边到边(edge-to-edge)强制要求,在 API 级别 35 中设置状态栏背景颜色已弃用,设置它将无效。您可以在 这里 阅读更多关于我们的边到边建议。

类型是否必填默认值
color默认系统 StatusBar 背景颜色,如果未定义则为 'black'

barStyle

设置状态栏文本的颜色。

在 Android 上,这只会影响 API 版本 23 及以上版本。

类型是否必填默认值
StatusBarStyle'default'

hidden

状态栏是否隐藏。

类型是否必填默认值
booleanfalse

networkActivityIndicatorVisible
iOS

网络活动指示器是否应该可见。

类型默认值
booleanfalse

showHideTransition
iOS

使用 hidden 属性显示和隐藏状态栏时的过渡效果。

类型默认值
StatusBarAnimation'fade'

translucent
Android

状态栏是否半透明。当 translucent 设置为 true 时,应用将在状态栏下方绘制。这对于使用半透明状态栏颜色时很有用。

注意

由于 Android 15 引入的边到边(edge-to-edge)强制要求,在 API 级别 35 中设置状态栏为半透明已弃用,设置它将无效。您可以在 这里 阅读更多关于我们的边到边建议。

类型默认值
booleanfalse

方法

popStackEntry()

tsx
static popStackEntry(entry: StatusBarProps);

获取并从栈中移除最后一个 StatusBar 条目。

参数:

名称类型描述
entry
必填
anypushStackEntry 返回的条目。

pushStackEntry()

tsx
static pushStackEntry(props: StatusBarProps): StatusBarProps;

将一个 StatusBar 条目推送到栈上。完成后应将返回值传递给 popStackEntry

参数:

名称类型描述
props
必填
any包含要在栈条目中使用的 StatusBar 属性的对象。

replaceStackEntry()

tsx
static replaceStackEntry(
entry: StatusBarProps,
props: StatusBarProps
): StatusBarProps;

用新属性替换现有的 StatusBar 栈条目。

参数:

名称类型描述
entry
必填
anypushStackEntry 返回的要替换的条目。
props
必填
any包含要在替换栈条目中使用的 StatusBar 属性的对象。

setBackgroundColor()
Android

tsx
static setBackgroundColor(color: ColorValue, animated?: boolean);

设置状态栏的背景颜色。

注意

由于 Android 15 引入的边到边(edge-to-edge)强制要求,在 API 级别 35 中设置状态栏背景颜色已弃用,设置它将无效。您可以在 这里 阅读更多关于我们的边到边建议。

参数:

名称类型描述
color
必填
string背景颜色。
animatedboolean动画化样式变化。

setBarStyle()

tsx
static setBarStyle(style: StatusBarStyle, animated?: boolean);

设置状态栏样式。

参数:

名称类型描述
style
必填
StatusBarStyle要设置的状态栏样式。
animatedboolean动画化样式变化。

setHidden()

tsx
static setHidden(hidden: boolean, animation?: StatusBarAnimation);

显示或隐藏状态栏。

参数:

名称类型描述
hidden
必填
boolean隐藏状态栏。
animation
iOS
StatusBarAnimation更改状态栏 hidden 属性时的动画。

🗑️ setNetworkActivityIndicatorVisible()
iOS

已弃用

状态栏网络活动指示器在 iOS 13 及更高版本中不受支持。这将在未来的版本中移除。

tsx
static setNetworkActivityIndicatorVisible(visible: boolean);

控制网络活动指示器的可见性。

参数:

名称类型描述
visible
必填
boolean显示指示器。

setTranslucent()
Android

tsx
static setTranslucent(translucent: boolean);

控制状态栏的半透明度。

注意

由于 Android 15 引入的边到边(edge-to-edge)强制要求,在 API 级别 35 中设置状态栏为半透明已弃用,设置它将无效。您可以在 这里 阅读更多关于我们的边到边建议。

参数:

名称类型描述
translucent
必填
boolean设置为半透明。

类型定义

StatusBarAnimation

iOS 上过渡用的状态栏动画类型。

类型
enum

常量:

类型描述
'fade'string淡入淡出动画
'slide'string滑动动画
'none'string无动画

StatusBarStyle

状态栏样式类型。

类型
enum

常量:

类型描述
'default'string默认状态栏样式(iOS 为深色,Android 为浅色)
'light-content'string白色文本和图标
'dark-content'string深色文本和图标(Android 上需要 API>=23)