跳到主要内容
新架构实战课 实操 + 基建 + 原理全维度包揽,抢先掌握 React Native 新架构精髓 立即查看 >

StatusBar

控制应用状态栏的组件。

和导航器一起使用的注意事项

由于StatusBar可以在任意视图中加载,可以放置多个且后加载的会覆盖先加载的。因此在配合导航器使用时,请务必考虑清楚StatusBar的放置顺序。

静态 API

有些场景并不适合使用组件,因此StatusBar也暴露了一个静态 API。然而不推荐大家同时通过静态 API 和组件来定义相同的属性,因为静态 API 定义的属性值在后续的渲染中会被组件中定义的值所覆盖。


文档

常量

currentHeight (仅限 Android)状态栏的当前高度。

Props

animated

指定状态栏的变化是否应以动画形式呈现。目前支持这几种样式:backgroundColor, barStyle 和 hidden。

类型必需
bool

backgroundColor

状态栏的背景色。

类型必需平台
colorAndroid

barStyle

设置状态栏文本的颜色。

在 Android 上此属性仅对 6.0 (API 23)及以上版本生效。

类型必需
enum('default', 'light-content', 'dark-content')

hidden

是否隐藏状态栏。

类型必需
bool

networkActivityIndicatorVisible

指定是否显示网络活动提示符。

类型必需平台
booliOS

showHideTransition

通过hidden属性来显示或隐藏状态栏时所使用的动画效果。默认值为'fade'。

类型必需平台
enum('fade', 'slide')iOS

translucent

指定状态栏是否透明。设置为 true 时,应用会延伸到状态栏之下绘制(即所谓“沉浸式”——被状态栏遮住一部分)。常和带有半透明背景色的状态栏搭配使用。

类型必需平台
boolAndroid

方法

popStackEntry()

static popStackEntry(entry: any)

Get and remove the last StatusBar entry from the stack.

参数:

名称类型描述
entry
必需
anyEntry returned from pushStackEntry.

pushStackEntry()

static pushStackEntry(props: any)

将当前导航栏的属性压入栈中保存。The return value should be passed to popStackEntry when complete.

参数:

名称类型描述
props
必需
anyObject containing the StatusBar props to use in the stack entry.

replaceStackEntry()

static replaceStackEntry(entry: any, props: any)

Replace an existing StatusBar stack entry with new props.

参数:

名称类型描述
entry
必需
anyEntry returned from pushStackEntry to replace.
props
必需
anyObject containing the StatusBar props to use in the replacement stack entry.

setBackgroundColor()

static setBackgroundColor(color: string, [animated]: boolean)

设置状态栏的背景色。仅限 Android。

参数:

名称类型必需说明
colorstring背景色
animatedboolean是否启用过渡动画

setBarStyle()

static setBarStyle(style: StatusBarStyle, [animated]: boolean)

设置状态栏的样式

参数:

名称类型必需说明
styleStatusBarStyle要设置的状态栏样式
animatedboolean是否启用过渡动画

setHidden()

static setHidden(hidden: boolean, [animation]: StatusBarAnimation)

显示/隐藏状态栏

参数:

名称类型必需说明
hiddenboolean是否隐藏状态栏
animationStatusBarAnimation改变状态栏显示状态的动画过渡效果

setNetworkActivityIndicatorVisible()

static setNetworkActivityIndicatorVisible(visible: boolean)

显示/隐藏网络活动指示器。仅限 iOS。

参数:

名称类型必需说明
visibleboolean是否显示网络活动指示器

setTranslucent()

static setTranslucent(translucent: boolean)

指定状态栏是否透明。设置为 true 时,应用会在状态栏之下绘制(即所谓“沉浸式”——被状态栏遮住一部分)。常和带有半透明背景色的状态栏搭配使用。仅限 Android。

参数:

名称类型必需说明
translucentbooleanSet as translucent.

类型定义

StatusBarAnimation

状态栏动画过渡效果

类型
$Enum

常量:

Value说明
none没有动画
fade渐变效果
slide滑动效果

StatusBarStyle

状态栏样式

类型
$Enum

常量:

Value说明
default默认的样式(IOS 为白底黑字、Android 为黑底白字)
light-content黑底白字
dark-content白底黑字(需要 Android API>=23)